On Thu Mar 7 08:34:43 2024 +0000, Zhiyi Zhang wrote:
queue_cancel_item() is called from RtwqCancelWorkItem() and RtwqRemovePeriodicCallback(). So please add tests for MFRemovePeriodicCallback() as well and confirm it has the same behavior. Also, I would like to see some tests to show that MFCancelWorkItem() and MFRemovePeriodicCallback() are blocking and they do wait for their callbacks to finish. For example, use MFCancelWorkItem() to cancel a work item that's already started and takes ~1s to finish really costs ~1s.
I feel we are blocking waiting for the callbacks to finish because of how wine workqueue is implemented. Windows could be doing this in a way that doesn't require this wait, and still don't leak memory.
I think adding those tests are fine, but they might ended up being todos