From 5397b38d036459e80f0e5ce4c2f53bd8263007cc Mon Sep 17 00:00:00 2001 From: "Matteo Nastasi (mop)" Date: Thu, 12 Dec 2013 12:26:52 +0100 Subject: [PATCH] arguments management added to be able to run sap without listen on stdin --- web/Obj/sac-a-push.phh | 20 ++++++++++++++++---- web/spush/brisk-spush.php | 6 +++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/web/Obj/sac-a-push.phh b/web/Obj/sac-a-push.phh index 7292a7b..cb10643 100644 --- a/web/Obj/sac-a-push.phh +++ b/web/Obj/sac-a-push.phh @@ -404,6 +404,7 @@ class Sac_a_push { var $s2u; // user associated with input socket var $s2p; // pending page associated with input socket var $pending_pages; + var $is_daemon; var $list; var $in; @@ -446,7 +447,7 @@ class Sac_a_push { } } - static function create(&$app, $sockname, $debug, $blocking_mode) + static function create(&$app, $sockname, $debug, $blocking_mode, $argv) { $thiz = new Sac_a_push(); @@ -458,6 +459,11 @@ class Sac_a_push { $thiz->s2u = array(); $thiz->s2p = array(); $thiz->pending_pages = array(); + $thiz->is_daemon = FALSE; + + if (array_search("-d", $argv) !== FALSE || array_search("--daemon", $argv) !== FALSE) { + $thiz->is_daemon = TRUE; + } // create a couple of sockets for control management if (($sockpair = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, @@ -628,9 +634,15 @@ class Sac_a_push { /* if ($shutdown) */ /* $read = array_merge(array("$in" => $in), $socks); */ /* else */ - $read = array_merge(array(intval($this->list) => $this->list, intval($this->in) => $this->in, - intval(static::$cnt_slave) => static::$cnt_slave), - $this->socks); + $pre_read = array_merge(array(intval($this->list) => $this->list, + intval(static::$cnt_slave) => static::$cnt_slave), + $this->socks); + if ($this->is_daemon == FALSE) { + $read = array_merge($pre_read, array(intval($this->in) => $this->in)); + } + else { + $read = $pre_read; + } if ($this->debug > 1) { printf("PRE_SELECT\n"); diff --git a/web/spush/brisk-spush.php b/web/spush/brisk-spush.php index 9a65d21..35c2584 100755 --- a/web/spush/brisk-spush.php +++ b/web/spush/brisk-spush.php @@ -39,7 +39,7 @@ require_once($G_base."briskin5/index.php"); require_once($G_base."briskin5/index_wr.php"); -function main() +function main($argv) { pid_save(); do { @@ -49,7 +49,7 @@ function main() break; } - if (($s_a_p = Sac_a_push::create($room, USOCK_PATH, 0, 0)) === FALSE) { + if (($s_a_p = Sac_a_push::create($room, USOCK_PATH, 0, 0, $argv)) === FALSE) { $ret = 2; break; } @@ -61,5 +61,5 @@ function main() exit($ret); } -main(); +main($argv); ?> -- 2.17.1