Stupid sem_wait implementation: you should return -1 on signal,
authoraland <aland>
Fri, 27 Jun 2003 18:15:38 +0000 (18:15 +0000)
committeraland <aland>
Fri, 27 Jun 2003 18:15:38 +0000 (18:15 +0000)
not zero!

src/main/threads.c

index dedef04..7a48167 100644 (file)
@@ -201,6 +201,14 @@ static void *request_handler_thread(void *arg)
                        break;
                }
 
+               /*
+                *      Stupid implementations of sem_wait return on
+                *      signals, but don't return -1.
+                */
+               if (!self->request) {
+                       continue;
+               }
+
                DEBUG2("Thread %d handling request %d, (%d handled so far)",
                                self->thread_num, self->request->number,
                                self->request_count);