Module: wine Branch: master Commit: 71f4b3bb843d73c31b2a3527bfa8a48573b37089 URL: http://source.winehq.org/git/wine.git/?a=commit;h=71f4b3bb843d73c31b2a3527bf...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Oct 22 14:48:15 2009 +0200
ntdll: Always set the I/O status information on ioctl completion (Valgrind).
---
dlls/ntdll/file.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 4ad84dc..228646f 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -1187,8 +1187,8 @@ static NTSTATUS ioctl_completion( void *arg, IO_STATUS_BLOCK *io, NTSTATUS statu req->handle = wine_server_obj_handle( async->handle ); req->user_arg = wine_server_client_ptr( async ); wine_server_set_reply( req, async->buffer, async->size ); - if (!(status = wine_server_call( req ))) - io->Information = wine_server_reply_size( reply ); + status = wine_server_call( req ); + if (status != STATUS_PENDING) io->Information = wine_server_reply_size( reply ); } SERVER_END_REQ; } @@ -1234,10 +1234,10 @@ static NTSTATUS server_ioctl_file( HANDLE handle, HANDLE event, req->async.cvalue = cvalue; wine_server_add_data( req, in_buffer, in_size ); wine_server_set_reply( req, out_buffer, out_size ); - if (!(status = wine_server_call( req ))) - io->Information = wine_server_reply_size( reply ); + status = wine_server_call( req ); wait_handle = wine_server_ptr_handle( reply->wait ); options = reply->options; + if (status != STATUS_PENDING) io->Information = wine_server_reply_size( reply ); } SERVER_END_REQ;