ChangeLog: scheduler/synchro.c: Fix a bug in 009-async_private.diff (Overlapped completion scheduled twice). diff -ruX diffignore CVS/wine/scheduler/synchro.c MW/wine/scheduler/synchro.c --- CVS/wine/scheduler/synchro.c Fri Jan 11 10:51:11 2002 +++ MW/wine/scheduler/synchro.c Fri Jan 11 11:03:40 2002 @@ -132,15 +132,10 @@ } else ovp_status = ovp->ops->get_status (ovp); - if( ovp_status == STATUS_PENDING ) - { - ovp->func(ovp); - register_async (ovp); - ovp_status = ovp->ops->get_status (ovp); - } + if( ovp_status == STATUS_PENDING ) ovp->func(ovp); - if( ovp_status != STATUS_PENDING ) - finish_async(ovp); + /* This will destroy all but PENDING requests */ + register_async (ovp); }