Uwe Schindler wrote: >> Rasmus Lerdorf wrote: >>> Uwe Schindler wrote: >>>> Does not link: >>>> >>>> Undefined first referenced >>>> symbol in file >>>> php_during_module_startup main/.libs/SAPI.o >>>> php_during_module_shutdown main/.libs/SAPI.o >>>> ld: fatal: Symbol referencing errors. No output written to sapi/cli/php >>>> collect2: ld returned 1 exit status >>>> gmake: *** [sapi/cli/php] Error 1 >>> gah! Who the heck added access functions for the static module globals >>> in main.c that are static themselves? That makes no sense. >>> >>> static int module_startup = 1; >>> static int module_shutdown = 0; >>> ... >>> static int php_during_module_startup() >>> static int php_during_module_shutdown() >>> >>> I had just assumed they were PHP_API functions. >> Ok, a better approach checking SG(server_context) instead attached. Try >> that. > > Works now. No more SEGFAULT. This solution is not the best one, but this was > my first idea to fix this, too. It should fix it in other SAPIs, too. Apache > for example also uses SG(server_context).
All the sapis define server_context during a request, so I think this solution is ok. Some of the sapis don't use it for anything, but if you look at those like caudium and roxen you will see they do: SG(server_context) = (void *)1; /* avoid server_context == NULL */ In the request startup code. Other parts of PHP rely on server_context being there. -Rasmus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php