Jinoh Kang (@iamahuman) commented about server/thread.c:
return 0;
}
+int is_obj_signaled( struct object *obj ) +{
- struct wait_queue_entry wait_entry;
- struct thread_wait wait = {0};
- if (!obj->ops->signaled)
return 0;
- wait.thread = current;
This looks wrong. Unless I've mistaken, this should be the thread that *initiated* the wait (like, the one that created or associated the wait completion packet), not `current`.