Zebediah Figura : server: Allow calling async_terminate() with STATUS_PENDING.

Alexandre Julliard julliard at winehq.org
Thu Sep 2 15:45:29 CDT 2021


Module: wine
Branch: master
Commit: 0f332fc0393e5d89b0fb676c06890085fb5fae18
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0f332fc0393e5d89b0fb676c06890085fb5fae18

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Wed Sep  1 17:28:35 2021 -0500

server: Allow calling async_terminate() with STATUS_PENDING.

We still don't quite handle this completely correctly, but we should at least
avoid crashing the server due to a failed assertion.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 server/async.c  | 2 --
 server/device.c | 1 -
 2 files changed, 3 deletions(-)

diff --git a/server/async.c b/server/async.c
index 1c3082083ed..b414604fcd4 100644
--- a/server/async.c
+++ b/server/async.c
@@ -156,8 +156,6 @@ static void async_destroy( struct object *obj )
 /* notifies client thread of new status of its async request */
 void async_terminate( struct async *async, unsigned int status )
 {
-    assert( status != STATUS_PENDING );
-
     if (async->terminated) return;
 
     async->terminated = 1;
diff --git a/server/device.c b/server/device.c
index b669921a003..ef93a0a9024 100644
--- a/server/device.c
+++ b/server/device.c
@@ -386,7 +386,6 @@ static void set_irp_result( struct irp_call *irp, unsigned int status,
 
     if (!file) return;  /* already finished */
 
-    /* FIXME: handle the STATUS_PENDING case */
     iosb->status = status;
     iosb->result = result;
     iosb->out_size = min( iosb->out_size, out_size );




More information about the wine-cvs mailing list