/** * This is the class constructor, initializes the object. * @access public */ public function __construct() { /* record pid of parent process */ self::$parent_pid = getmypid(); /* install signal handlers */ declare (ticks=1); pcntl_signal(SIGHUP, array(&$this, 'signal_handler_sighup')); pcntl_signal(SIGCHLD, array(&$this, 'signal_handler_sigchild')); pcntl_signal(SIGTERM, array(&$this, 'signal_handler_sigint')); pcntl_signal(SIGINT, array(&$this, 'signal_handler_sigint')); pcntl_signal(SIGALRM, SIG_IGN); pcntl_signal(SIGUSR2, SIG_IGN); pcntl_signal(SIGBUS, SIG_IGN); pcntl_signal(SIGPIPE, SIG_IGN); pcntl_signal(SIGABRT, SIG_IGN); pcntl_signal(SIGFPE, SIG_IGN); pcntl_signal(SIGILL, SIG_IGN); pcntl_signal(SIGQUIT, SIG_IGN); pcntl_signal(SIGTRAP, SIG_IGN); pcntl_signal(SIGSYS, SIG_IGN); /* add barracuda specific prefork functions (doesn't hurt anything) */ $this->parent_function_prefork = array('db_clear_connection_cache', 'memcache_clear_connection_cache'); }