- rewrite of the named pipe code
- allow NtFileFlushBuffers to wait
- allow DisconnectNamedPipe to invalidate client cached fd
- fix the pipe test now that one extra test passes
diff --git a/server/fd.c b/server/fd.c
index 3ca3b74..072d349 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -963,7 +963,7 @@
}
/* default flush() routine */
-int no_flush( struct fd *fd )
+int no_flush( struct fd *fd, struct event **event )
{
set_error( STATUS_OBJECT_TYPE_MISMATCH );
return 0;
@@ -1002,10 +1002,15 @@
DECL_HANDLER(flush_file)
{
struct fd *fd = get_handle_fd_obj( current->process, req->handle, 0 );
+ struct event * event = NULL;
if (fd)
{
- fd->fd_ops->flush( fd );
+ fd->fd_ops->flush( fd, &event );
+ if( event )
+ {
+ reply->event = alloc_handle( current->process, event, SYNCHRONIZE, 0 );
+ }
release_object( fd );
}
}