On Thu, Jan 28, 2010 at 12:43 PM, Michael McCandless
<[email protected]> wrote:
> On Thu, Jan 28, 2010 at 6:38 AM, Uwe Schindler <[email protected]> wrote:
>
>> So I checked the code of NIOFSIndexInput, my last comment was not really
>> correct:
>> NIOFSIndexInput extends SimpleFSIndexInput and that opens the RAF. In the
>> ctor RAF.getChannel() is called. The RAF keeps open until the file is closed
>> (and also the channel).
>>
>> So it's really simple to fix in my opinion, just call getChannel() again on
>> this exception. Because the RAF should still be open?
Short answer:
public final FileChannel getChannel() {
synchronized (this) {
if (channel == null)
channel = FileChannelImpl.open(fd, true, rw, this);
return channel;
}
}
this is not gonna work I tried it before. The RandomAccessFile buffers
the channel!!
simon
>
> I think we need a definitive answer on what happens to the RAF when
> the FileChannel was closed by Thread.Interrupt. Simon can you test
> this?
>
> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]