configuration file management fixed (add console 'reload' command)
authorMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Thu, 8 Nov 2012 07:18:45 +0000 (08:18 +0100)
committerMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Thu, 8 Nov 2012 07:18:45 +0000 (08:18 +0100)
test/curlbust.sh [new file with mode: 0755]
web/Obj/sac-a-push.phh
web/spush/brisk-spush.php

diff --git a/test/curlbust.sh b/test/curlbust.sh
new file mode 100755 (executable)
index 0000000..f675814
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+URL=http://dodo.birds.lan/brisk/index.php
+N=10000
+
+# TODO parameters
+
+declare -a cpid
+
+for i in $(seq 1 $N); do
+    curl -s -o /tmp/out.$i.$$.txt "$URL" &
+    cpid[$i]=$!
+done
+
+wait ${pi[*]}
+ret=$?
+
+for i in $(seq 1 $N); do
+#    ls -l /tmp/out.$i.$$.txt
+    rm -f /tmp/out.$i.$$.txt
+done
+
+exit $ret
\ No newline at end of file
index c5faa55..527d9b7 100644 (file)
@@ -311,6 +311,8 @@ class Sac_a_push {
 
     function run()
     {
+        GLOBAL $DOCUMENT_ROOT, $HTTP_HOST, $G_with_splash;
+
         if ($this->main_loop) {
             return (FALSE);
         }
@@ -338,7 +340,7 @@ class Sac_a_push {
             $num_changed_sockets = stream_select($read, $write, $except, 0, 500000);
         
             if ($num_changed_sockets == 0) {
-                printf(" no data in 5 secs ");
+                printf(" no data in 5 secs, splash [%d]\n", $G_with_splash);
             } 
             else if ($num_changed_sockets > 0) {
                 printf("num sock %d num_of_socket: %d\n", $num_changed_sockets, count($read));
@@ -377,7 +379,6 @@ class Sac_a_push {
                             print_r($post);
                             printf("COOKIE:\n");
                             print_r($cookie);
-
                             $addr = stream_socket_get_name($new_socket, TRUE);
                             $header_out = array();
 
@@ -401,6 +402,7 @@ class Sac_a_push {
                     }
                     else {
                         $buf = fread($sock, 512);
+                        // if socket is closed
                         if ($buf == FALSE || strlen($buf) == 0) {
                             if ($buf == FALSE) {
                                 printf("ERROR READING\n");
@@ -438,6 +440,10 @@ class Sac_a_push {
                             }
                             else if ($sock === $this->in) {
                                 printf("Arrivati %d bytes da stdin\n", strlen($buf));
+                                $line = trim($buf);
+                                if ($line == "reload") {
+                                    require("$DOCUMENT_ROOT/Etc/".BRISK_CONF);
+                                }
                             }
                             else {
                                 $key = array_search("$sock", $this->socks);
index f4ecacb..04e4297 100755 (executable)
  *   TEST - database connection fails after a while, check close and try PGSQL_CONNECT_FORCE_NEW.
  *   TEST - images flickering on slow windows: try to poll stream every 300 ms
  *
- *   - configuration file management
  *   - centralize all '<script ...' incapsulation to allow multiple transport system.
  *
- *   - manage and test cross forwarder between table and room
+ *   - WIP (half tested) manage and test cross forwarder between table and room
  *   - log_legal address fix
  *   - setcookie (for tables only and persist prefs)
  *   - 404 wrong page management
@@ -44,6 +43,7 @@
  *
  *   DONE/FROZEN - problema con getpeer (HOSTADDR)
  *
+ *   DONE - configuration file management
  *   DONE - app level keep-alive
  *   DONE - index_wr other issues
  *   DONE - from room to table