[jcifs] Calling length on open file chokes

Rob Wygand rob at filefish.com
Fri Dec 14 11:54:14 EST 2001


I sort of agree with you. It is correct that if I wanted to do something 
invasive to the file, that I should get that exception... but smbclient 
and even Windows Network Neighborhood allow me to get the length of the 
file.

Also, isDirectory() and isFile() both return false... I assume this is 
related?

rjw

Allen, Michael B (RSCH) wrote:

> Mmm. I thought this would go away with the shareAccess change in SmbComNTCreateAndX. Unfourtunately this particular file is opened by the Win32 Kernel which I guess uses a very restrictive
> ShareAccess. The SMB_COM_QUERY_INFORMATION command is correctly getting the "File is being accessed by another process". smbclient uses the Trans2FindFirst2/Next2 commands. I'll see if there's a way
> to handle this a little more elegantly but I don't think so. Technically the "file is being accessed by another processes" business is correct; you shouldn't be querying that file. This is another yet
> another reason to implement listFiles().
> 
> Mike
> 
> 
>>-----Original Message-----
>>From:	Rob Wygand [SMTP:rob at filefish.com]
>>Sent:	Thursday, December 13, 2001 6:35 PM
>>To:	jcifs at samba.org
>>Subject:	[jcifs] Calling length on open file chokes
>>
>>Mike,
>>
>>Another little oddity, and this was also in 0.5.
>>
>>If I can length() is a file that is open by another process, I get an 
>>exception (the file is in use by another process). I see this all the 
>>time when 'browsing' pagefile.sys. It should be possible to read the 
>>attrs of a file, even if another process has a write lock on it, no?
>>
>>I tested this with smbclient, and that returns the right file length...
>>
>>rjw
>>
>>
>>
> 






More information about the jcifs mailing list