Jinoh Kang (@iamahuman) commented about server/protocol.def:
+@REPLY
- obj_handle_t handle; /* wait completion packet handle */
+@END
+/* Associate a wait completion packet */ +@REQ(associate_wait_completion_packet)
- obj_handle_t packet; /* wait completion packet handle */
- obj_handle_t completion; /* completion handle */
- obj_handle_t target; /* target object handle */
- apc_param_t ckey; /* completion key */
- apc_param_t cvalue; /* completion value */
- apc_param_t information; /* IO_STATUS_BLOCK information */
- unsigned int status; /* completion status */
+@REPLY
- int signaled; /* whether the object is already signaled */
I'd use "completed" instead of "signaled." I find signaled ambiguous, since:
1. The object's signaled status depends on the thread, and 2. The role of wait completion packet is to *complete* the wait, not signaling.
Ditto for other places like `remove_signaled`. `cancel_completed` would work for me.