/*
- * $Id: comm.cc,v 1.379 2003/06/24 12:42:25 robertc Exp $
+ * $Id: comm.cc,v 1.380 2003/07/06 14:16:56 hno Exp $
*
* DEBUG: section 5 Socket Functions
* AUTHOR: Harvest Derived
*/
PROF_start(comm_calliocallback);
+ debug(5, 7) ("comm_calliocallback: %p\n", CommCallbackList.head);
+
while (CommCallbackList.head != NULL && oldseqnum != ((CommCallbackData *)CommCallbackList.head->data)->result.seqnum) {
dlink_node *node = (dlink_node *)CommCallbackList.head;
cio = (CommCallbackData *)node->data;
PROF_stop(comm_calliocallback);
}
+bool
+comm_iocallbackpending(void)
+{
+ debug(5, 7) ("comm_iocallbackpending: %p\n", CommCallbackList.head);
+ return CommCallbackList.head != NULL;
+}
+
void
CommRead::queueCallback(size_t retval, comm_err_t errcode, int xerrno)
{
/*
- * $Id: comm_poll.cc,v 1.12 2003/07/06 12:03:40 hno Exp $
+ * $Id: comm_poll.cc,v 1.13 2003/07/06 14:16:57 hno Exp $
*
* DEBUG: section 5 Socket Functions
*
return COMM_SHUTDOWN;
}
+ if (comm_iocallbackpending())
+ npending++;
+
if (npending)
msec = 0;
/*
- * $Id: comm_select.cc,v 1.70 2003/07/06 12:03:40 hno Exp $
+ * $Id: comm_select.cc,v 1.71 2003/07/06 14:16:57 hno Exp $
*
* DEBUG: section 5 Socket Functions
*
if (msec > MAX_POLL_TIME)
msec = MAX_POLL_TIME;
+ if (comm_iocallbackpending())
+ pending++;
+
if (pending)
msec = 0;
/*
- * $Id: protos.h,v 1.479 2003/06/19 13:47:25 hno Exp $
+ * $Id: protos.h,v 1.480 2003/07/06 14:16:56 hno Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
/* comm.c */
extern void comm_calliocallback(void);
+extern bool comm_iocallbackpending(void); /* inline candidate */
extern int comm_listen(int fd);
SQUIDCEXTERN int commSetNonBlocking(int fd);