[ros-kernel] File IO bugs

Hartmut Birr hartmut.birr at gmx.de
Sat Nov 8 13:19:00 CET 2003



> -----Original Message-----
> From: ros-kernel-bounces at reactos.com 
> [mailto:ros-kernel-bounces at reactos.com] On Behalf Of Eric Kohl
> Sent: Saturday, November 08, 2003 9:58 AM
> To: ReactOS Kernel
> Subject: [ros-kernel] File IO bugs
> 
> 
> I also fixed a few cases of wrong interpretations of 
> FO_SYNCRONOUS_IO in the
> functions mentioned above. We had several cases where a 
> function would wait
> for io completion in case FO_SYNCRONOUS_IO was _not_ set! And I was
> wondering why NtQueryInformationFile returned STATUS_PENDING 
> although I
> opened a file for synchronous access. :-/
> 

The interpretion of FO_SYNCHRONOUS_IO is possible incorrect. If
FO_SYNCHRONOUS_IO is set and the caller supplys an event handle, the
Ntxxxx functions should return the result from call to IoCallDriver and
should not wait on the event. The caller must wait on the event handle. 

It seems that the implementation for synchronous access to fileobject's
is wrong. For synchronisation, the i/o-manger must use some fields from
the fileobject (Waiters, Busy, LastLock, Lock).  

- Hartmut 



More information about the Ros-kernel mailing list