Child panics on OpenSolaris

Nils Goroll slink at schokola.de
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?

http://www.opengroup.org/onlinepubs/009695399/functions/poll.html 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)



NAME
      streamio - STREAMS ioctl commands

SYNOPSIS
      #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:

http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/inet/proto_set.c#tli_errs

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

Nils



More information about the varnish-misc mailing list