Jeff - You have some valid points. If you notice the some of the comments history in this bug - 6670736 - this point was indeed discussed. But, some one pointed out why we could have '-mt' set within our project Makefile to avoid any misinterpretation. Also, please note that in our environment, we are compiling APR with threaded support. So that , we can reuse the APR both for pre-fork and worker version of httpd. However, it is very possible that there might be other customers who don't want to build APR with threading support - for various reasons.
- sriram Jeff Trawick wrote: > Seema Alevoor wrote: > >> I have updated the webrev ( http://cr.opensolaris.org/~seema/6670736 ). >> This fix also includes a change in the compiler optimization level to -xO4 >> (same as that of CoolStack). >> >> >> > Regarding the change for -mt: > > APR already uses -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT, which is > supposed to work for Sun cc or gcc; this setting is inherited by > apr-util and httpd. It seems that starting with Solaris 10 or > thereabouts, the Solaris Multithreaded Programming Guide started pushing > Sun Studio and the "-mt" flag. In an older version of the same manual > it describes the settings that apr uses > (http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWdev/MTP/p44.html#COMPILE-94611). > > So, is "-mt" really required? > > If -mt is really required, I believe that: > > * It is a bug in APR that "-mt" isn't automatically added to CFLAGS when > the Sun compiler is used (as long as the APR configure option > --disable-threads wasn't specified). httpd picks up flags from APR by > default so fixing it in APR covers that, as well as apr-util and other > project/third-party code. > * Both prefork and worker MPMs must support threaded code (in prefork, > this is only when third-party modules create threads) so both need -mt. > (But if APR has the right flags both are okay.) > > I'd expect to see a patch to APR, however crude, to force -mt into > CFLAGS when the Sun compiler is used. I don't yet know how fixes to > bugs in upstream are tracked, but a patch to the tarball seems more > obvious than working around the problem in the project makefile. > > Apologies for sticking my nose into this without yet knowing how this is > all put together ;) > > _______________________________________________ > > > webstack-discuss mailing list > webstack-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/webstack-discuss >