race in module_registry_request_startup

From: Date: Fri, 08 Oct 1999 12:52:17 +0000
Subject: race in module_registry_request_startup
Groups: php.version4 
Request: Send a blank email to php-version4+get-5375@lists.php.net to get a copy of this message
On request startup, module_registry_request_startup() is called for the modules stored in module_registry. This list is shared across all threads. In this list, _zend_module_entr(ies) are stored. This structure contains a per-thread element (request_started) which must not be shared across threads. This race causes segfaults, since modules are not initialized properly, but their request shutdown function is called (request_started == 1). Temporary "solution": - mutexing from php_request_startup until php_request_shutdown Real solution: - remove request_started - introduce a list of started modules per request - on request shutdown, req shutdown all modules stored in that list -- Regards, Sascha Schumann Consultant

« previous php.version4 (#5375) next »