Am Montag, 26. August 2013, 17:13:46 schrieb Alexandre Julliard: > Wolfgang Walter <w...@stwm.de> writes: > > @@ -2749,19 +2752,46 @@ NTSTATUS WINAPI NtFlushBuffersFile( HANDLE hFile, > > IO_STATUS_BLOCK* IoStatusBlock> > > { > > > > NTSTATUS ret; > > HANDLE hEvent = NULL; > > > > - > > - SERVER_START_REQ( flush_file ) > > - { > > - req->handle = wine_server_obj_handle( hFile ); > > - ret = wine_server_call( req ); > > - hEvent = wine_server_ptr_handle( reply->event ); > > + enum server_fd_type type; > > + unsigned int options; > > + int needs_close; > > + int unix_handle; > > + > > + ret = server_get_unix_fd( hFile, FILE_WRITE_DATA, &unix_handle, > > + &needs_close, &type, &options ); > > + if (ret) return ret; > > You probably don't want to fail just because there's no unix fd.
What is the correct behaviour if there ist no such handle? Should I only fail in the case FD_FILE_SERIAL ? In this case server_get_unix_fd() and if (needs_close) close( unix_handle ); could be moved there, too. > > > + if (ret == STATUS_SUCCESS && IoStatusBlock) { > > + IoStatusBlock->u.Status = ret; > > > > } > > This is an unrelated change and should be a separate patch, with tests > (also for failures cases), Ok. I have to see how to write tests. Regards, -- Wolfgang Walter Studentenwerk München Anstalt des öffentlichen Rechts Abteilungsleiter IT Leopoldstraße 15 80802 München