exit; } else { /* We are the parent process Create a new logger object, we need to log via the IPC message queue, rather than into the same text log file and ending up with write clashes. Note: we don't do print to STDOUT here, it's something that the logger process will do for us - although there's no reason why we couldn't do it here if we so desired. */ $log = new logger(); if (isset($options_set["debug"])) { $log->set_debug(); } $log->set_queue_sender(&$msg_queue, MESSAGE_LOG, MESSAGE_MAX_SIZE); } $log->info("[master] Launched " . APP_NAME . " (" . APP_VERSION . ")"); /* Launch contacts lookup worker fork If enabled, we launch a seporate fork which looks up (and caches) address book look ups for all device worker forks. In the backend, this fork uses CardDAV which has numerious server implementations including Google Contacts which is built into Android. */ if ($config["SMStoXMPP"]["contacts_lookup"] == true) { $pid_contacts = pcntl_fork();