Child panics on OpenSolaris

Nils Goroll slink at
Wed Feb 17 10:59:22 CET 2010

Hi Poul-Henning and all,

> We need CFLAGS to contain -mt on solaris, otherwise errno does not
> get macro-fied to be per-thread.
> That's where the: EBADF comes from, some entirely different
> filedescriptor a long time ago, in the master process...

Fantastic. Thank you for putting so much effort into this.

But also: Stupid I didn't think about this. See how I'm compiling varnish since 
I started working with it:

## 64bit
VCC_CC="exec gcc -fpic -D_REENTRANT -m64 -shared -o %o %s" \
./configure \
	'--enable-debugging-symbols' \
	'--enable-developer-warnings' \
	'--enable-dependency-tracking' \

IIUC, this effectively has the same effect as -mt for SunCC:

User Commands                                               cc(1)

      cc - C compiler


      -mt  Use this option to compile and link multithreaded code.
           The -mt option assures that libraries are linked in the
           appropriate order.

           This option passes -D_REENTRANT to the preprocessor and
           passes -lthread in the correct order to ld.

           If you are using POSIX threads, you must link with the
           options -mt -lpthread.


More information about the varnish-misc mailing list