Fix-Point opened a new pull request, #16342: URL: https://github.com/apache/nuttx/pull/16342
## Summary This commit fixed work_cancel_sync at a very rare boundary case. When a worker thread re-enqueues the work data structure during the execution of work, the user thread cannot directly dequeue the work in `work_cancel_sync`. Instead, it should wait until all workers' references to the work data structure have been eliminated after dequeuing. Besides, this commit improve the performance of the work_queue by reducing unnecessary timer setting. ## Impact This modification mainly affects modules that use workqueue, and may affect the timing of workqueue execution and workqueue cancel semantics. ## Testing Tested on `esp32s3`, `sim` and `qemu/x86_64`. Issues mentioned in `https://github.com/apache/nuttx/issues/16337` should be fixed. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org