--- courier-0.42.2/courier/cdfilters.C.orig 2003-08-10 09:53:27.000000000 -0700
+++ courier-0.42.2/courier/cdfilters.C 2003-08-10 15:24:08.000000000 -0700
@@ -9,6 +9,9 @@
#if HAVE_FCNTL_H
#include <fcntl.h>
#endif
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#include <errno.h>
#include <ctype.h>
#include "mydirent.h"
@@ -97,6 +100,17 @@
struct timeval tv;
fd_set fds;
+ int triedagain=0;
+ while (errno == EAGAIN && triedagain < 5)
+ {
+ triedagain++;
+ sleep(1);
+ if (connect(s, (struct sockaddr *)&ssun, sizeof(ssun)) == 0) {
+ errno=0;
+ break;
+ }
+ }
+
if (errno != EINPROGRESS)
{
clog_msg_prerrno();
... This one might be closer to the mark :-/
- [courier-users] cdfilters.C and EAGAIN Gordon Messmer
- [courier-users] Re: cdfilters.C and EAGAIN Gordon Messmer
- [courier-users] Re: cdfilters.C and EAGAIN Sam Varshavchik
- Re: [courier-users] Re: cdfilters.C and EAGAI... Gordon Messmer
- [courier-users] Re: cdfilters.C and EAGAI... Sam Varshavchik
