1. It's an out of date, and Solaris-biased (as opposed to POISX), man page. Even on Solaris 9.
==== http://docs.sun.com/source/816-2454/cc_ops.app.html#pgfId-999925 A.3.42 -mt Macro option that expands to -D_REENTRANT -lthread. If you are doing your own multithread coding, you must use this option in the compile and link steps. To obtain faster execution, this option requires a multiprocessor system. On a single-processor system, the resulting executable usually runs more slowly with this option. ==== 2. _POSIX_C_SOURCE=199506L tells the compiler to use POSIX.1c interfaces as opposed to Solaris (or other) interfaces for symbols that might have the same name. I suppose apr/httpd could get by with just _POSIX_PTHREAD_SEMANTICS, to take care of the threads, but I think it would be a benefit to be sure that the correct (POISX) sections of the Solaris header files are being processed. /kristofer On Mon, 31 Mar 2003, Jeff Trawick wrote: > Spinka, Kristofer wrote: > > To be sure that the compiler is respecting the POSIX behavior, remove > > the "-mt" and add "-D_POSIX_C_SOURCE=199506L" and link with -lpthread. > > "man pthread_create" says "cc -mt foo.c -lpthread" > > _POSIX_C_SOURCE=199506L sounds like something to force my program to use > only those interfaces described in some particular document... we want > access to everything the platform offers > >
