Jinoh Kang (@iamahuman) commented about server/thread.c:
release_object( apc ); }
- if (!ctx_count && current->context && req->flags & SELECT_SUSPEND)
- {
/* select is called from signal and thread context is required. */
set_error( STATUS_MORE_PROCESSING_REQUIRED );
reply->signaled = 1;
return;
- }
Can we move this to `check_wait()`, ideally just after `return STATUS_KERNEL_APC;`?
This introduces a new "failure" mode of `select` request, which will cause the `server_select` loop to be interrupted in a way that I find hard to reason about.
I don't see how the more-processing-required condition is fundamentally different from other signalling conditions that satisfies the wait either.