[PATCH 03/10] server: Use async object to transfer IRP result to client.

Jacek Caban jacek at codeweavers.com
Wed Nov 30 06:19:26 CST 2016


On 28.11.2016 16:54, Alexandre Julliard wrote:
> Jacek Caban <jacek at codeweavers.com> writes:
>
>> diff --git a/server/file.h b/server/file.h
>> index c0a53a2..75a2e03 100644
>> --- a/server/file.h
>> +++ b/server/file.h
>> @@ -53,6 +53,8 @@ struct fd_ops
>>      void (*reselect_async)( struct fd *, struct async_queue *queue );
>>      /* cancel an async operation */
>>      int (*cancel_async)(struct fd *, struct process *process, struct thread *thread, client_ptr_t iosb);
>> +    /* find an async operation in queues */
>> +    struct async *(*find_async)( struct fd *fd, struct process *process, client_ptr_t client_async );
>>  };
> I think a per-process list of async/iosb would make more sense. There
> should be nothing file type specific about finding an async. It could
> probably be used to get rid of cancel_async() too.

Indeed, it's much cleaner. I sent a patch implementing that.

Thanks,
Jacek



More information about the wine-devel mailing list