X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fbrisk.phh;h=589eed9a87386d1a29e7e11121cc2eca79e36f74;hb=6215f77e418ed06e4822895bf644b585d32ba959;hp=a752fb5abdb9623d97ce25feaba505a5c3bde935;hpb=18af72a62ca7c625f3d67f916eb6818dc4329b3f;p=brisk.git
diff --git a/web/brisk.phh b/web/brisk.phh
index a752fb5..589eed9 100644
--- a/web/brisk.phh
+++ b/web/brisk.phh
@@ -25,7 +25,8 @@ define(PROXY_PATH, "/var/lib/brisk_proxy");
define(TABLES_N, 8);
define(PLAYERS_N, 3);
define(MAX_POINTS, 5);
-define(MAX_PLAYERS, (PLAYERS_N * TABLES_N));
+define(MAX_PLAYERS, (20 + (PLAYERS_N * TABLES_N)));
+define(SHM_DIMS, (50000 * MAX_PLAYERS));
define(COMM_N, 12);
define(COMM_GEN_N, 50);
define(SESS_LEN, 13);
@@ -40,9 +41,9 @@ define(BRISK_DEBUG, FALSE);
// define(DEBUGGING, "local");
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "0.7.0";
+$G_brisk_version = "0.7.2";
-$root_wellarr = Array ( 'Benvenuto in brisk (Ver. '.$G_brisk_version.'), NOVITA\': "donate" e piccole rifiniture.',
+$root_wellarr = Array ( 'Benvenuto in brisk (Ver. '.$G_brisk_version.'), NOVITA\': ottimizzazione della CPU e chiuso il bug di mancato cambio pagina.',
'Se vuoi iscriverti alla Mailing List, cliccala!' );
$table_wellarr = Array ( 'Benvenuto al tavolo. Se almeno tre giocatori non sbloccano l\'uscita cliccando il lucchetto, chi esce non può risedersi a un qualunque tavolo per '.floor(BAN_TIME/60).' minuti.');
@@ -54,7 +55,6 @@ Questa è un\'implementazione della briscola in cinque, così come &
Wikipedia; in breve è la variante con l\'asta prima sulla carta e poi sui punti.
Configurazione del browser.
Occorre abilitare i cookies.
-Se usate Internet Explorer dovete anche settare: strumenti->cronologia_esplorazioni->impostazioni ad \\"apertura alla pagina web\\".
Uso del sito
Potete sedervi a un tavolo o rimanere in piedi.
@@ -367,9 +367,10 @@ class User {
var $table; // id of the current table (if in table state)
var $table_pos; // idx on the table
- function User($name, $sess, $stat = "", $subst = "", $table = -1) {
+ function User($name, $sess, $stat = "", $subst = "", $table = -1, $ip="0.0.0.0") {
$this->name = $name;
$this->sess = $sess;
+ $this->ip = $ip;
$this->lacc = time();
$this->laccwr = time();
$this->bantime = 0;
@@ -454,7 +455,7 @@ function step_get($sess) {
function step_unproxy($sess) {
log_rd2($sess, "UNPROXY: ".PROXY_PATH."/".$sess.".step");
- unlink(PROXY_PATH."/".$sess.".step");
+ @unlink(PROXY_PATH."/".$sess.".step");
}
@@ -957,6 +958,16 @@ function log_auth($sess, $log) {
}
}
+function log_lock($sess, $log) {
+ if (BRISK_DEBUG != TRUE)
+ return;
+
+ if (($fp = @fopen("/tmp/brisk_lock.log", 'a')) != FALSE) {
+ fwrite($fp, sprintf("SESS: [%d] [%s] [%s]\n", time(), $sess, $log));
+ fclose($fp);
+ }
+}
+
function log_wr($sess, $log) {
if (BRISK_DEBUG != TRUE)
return;
@@ -1010,14 +1021,17 @@ function lock_data()
echo "SEM_GET FAILED";
exit;
}
- if (sem_acquire($res))
+ if (sem_acquire($res)) {
+ log_lock($sess, "LOCK");
return ($res);
+ }
else
return (false);
}
function unlock_data($res)
{
+ log_lock($sess, "UNLOCK");
return (sem_release($res));
}
@@ -1051,7 +1065,7 @@ function &load_data()
exit;
}
- if ($shm = shm_attach($tok,100000 * TABLES_N)) {
+ if ($shm = shm_attach($tok, SHM_DIMS)) {
if(($bri = @shm_get_var($shm, $tok)) == false) {
log_main("XXX", "INIT MAIN DATA");
@@ -1083,11 +1097,13 @@ function save_data(&$bri)
do {
$isacq = TRUE;
- if (($shm = shm_attach($tok,100000 * TABLES_N)) == FALSE)
+ if (($shm = shm_attach($tok, SHM_DIMS)) == FALSE)
break;
- if (shm_put_var($shm, $tok, $bri) == FALSE)
+ if (shm_put_var($shm, $tok, $bri) == FALSE) {
+ echo "DANNO: ".strlen(serialize($bri));
break;
+ }
// log_main("XXX", "QUI CI ARRIVA [".$bri->user[0]->name."]");
$ret = TRUE;
} while (0);