Index: src/fs/aufs/aiops.c
===================================================================
RCS file: /server/cvs-server/squid/squid/src/fs/aufs/aiops.c,v
retrieving revision 1.12.2.8
diff -u -p -r1.12.2.8 aiops.c
--- src/fs/aufs/aiops.c	6 Aug 2003 14:16:26 -0000	1.12.2.8
+++ src/fs/aufs/aiops.c	16 Feb 2004 11:00:10 -0000
@@ -389,6 +389,10 @@ squidaio_thread_loop(void *ptr)
 	threadp->status = _THREAD_WAITING;
 	pthread_mutex_lock(&request_queue.mutex);
 	while (!request_queue.head) {
+	    if (done_queue.head && !done_signalled) {
+		done_signalled = 1;
+		write(done_fd, "!", 1);
+	    }
 	    pthread_cond_wait(&request_queue.cond, &request_queue.mutex);
 	}
 	request = request_queue.head;
@@ -445,10 +449,6 @@ squidaio_thread_loop(void *ptr)
 	*done_queue.tailp = request;
 	done_queue.tailp = &request->next;
 	pthread_mutex_unlock(&done_queue.mutex);
-	if (!done_signalled) {
-	    done_signalled = 1;
-	    write(done_fd, "!", 1);
-	}
 	threadp->requests++;
     }				/* while forever */
     return NULL;
