Jacek Caban jacek@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.
On 28.11.2016 16:54, Alexandre Julliard wrote:
Jacek Caban jacek@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