Index: async_io.c
===================================================================
RCS file: /server/cvs-server/squid/squid/src/fs/coss/async_io.c,v
retrieving revision 1.8
diff -u -w -r1.8 async_io.c
--- async_io.c	13 Apr 2002 23:07:56 -0000	1.8
+++ async_io.c	19 May 2002 14:12:35 -0000
@@ -159,6 +159,7 @@
     DWCB *wc;
     FREE *freefunc;
     void *cbdata;
+    int callback_valid;
     void *buf;
     int fd;
     async_queue_entry_t *aqe;
@@ -186,6 +187,7 @@
 		buf = aqe->aq_e_buf;
 		fd = aqe->aq_e_fd;
 		type = aqe->aq_e_type;
+		callback_valid = cbdataReferenceValidDone(aqe->aq_e_callback_data, &cbdata);
 
 		/* Free slot */
 		bzero(aqe, sizeof(async_queue_entry_t));
@@ -193,7 +195,7 @@
 		q->aq_numpending--;
 
 		/* Callback */
-		if (cbdataReferenceValidDone(aqe->aq_e_callback_data, &cbdata)) {
+		if (callback_valid) {
 		    if (type == AQ_ENTRY_READ)
 			rc(fd, buf, retval, reterr, cbdata);
 		    if (type == AQ_ENTRY_WRITE)

