Child panics on OpenSolaris

Nils Goroll slink at
Mon Feb 15 18:29:52 CET 2010

Hi Poul-Henning,

> That was one of my theories, but it does not fit the facs of the case,

I don't understand what contradicts this hypothesis?

> and it would violate POSIX, which I doubt Solaris would do...

Just out of interest: Do you have a reference why that would violate POSIX? doesn't tell.

> The best contender is still that varnish closes the fd by mistake,
> but I'll be damned if I can find where...

Please let's come back to the basics and your initial hypothesis one last time:
Suppose the RST gets received between the poll() and ioctl() in TCP_nonblocking.

Why should the ioctl not be allowed to return EBADF in that case? For instance,
this man page

Ioctl Requests                                       streamio(7I)

      streamio - STREAMS ioctl commands

      #include <sys/types.h>
      #include <stropts.h>
      #include <sys/conf.h>

      int ioctl(int fildes, int command, ... /*arg*/);

only mentions a hand full of error codes and then there is this:

I'm not sure this is the exact mapping for this case, but it looks like it...


More information about the varnish-misc mailing list