4 $MESSAGE_KEY = ftok(realpath(dirname(__FILE__)), "c");
5 $LOCKING_KEY = ftok(realpath(dirname(__FILE__)), "l");
6 $STORE_KEY = ftok(realpath(dirname(__FILE__)), "s");
8 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
11 function __construct()
13 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
14 $this->semres = sem_get($LOCKING_KEY, 0666);
15 $this->msgres = msg_get_queue($MESSAGE_KEY, 0666);
20 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
21 sem_acquire($this->semres);
22 $shm_space = shm_attach($STORE_KEY, 16*1024*1024);
23 $config = shm_get_var($shm_space, 0);
24 sem_release($this->semres);
29 function putConfig($config)
31 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
32 sem_acquire($this->semres);
33 $shm_space = shm_attach($STORE_KEY, 16*1024*1024);
34 shm_put_var($shm_space, 0, $config);
35 sem_release($this->semres);
38 function waitForMessage()
40 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
41 $queue = msg_get_queue($MESSAGE_KEY);
42 msg_receive($queue, 0, $msgtype, 1024, $msg);
47 function sendMessage($msg)
49 global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
50 $queue = msg_get_queue($MESSAGE_KEY);
51 msg_send($queue, 1, $msg);
55 private $semres, $msgres;