X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;ds=inline;f=web%2FObj%2Fbrisk.phh;h=57f209cf6a5ef8154637a9fd01c914b0e4b79c95;hb=f8a25a39131460c24dc3b8897cfb4913a7b7fd86;hp=0dbb35895b44243736d7698acfc383173531e60c;hpb=d9d7c36af2f5ec4c0688e77e58d3d0b930cd2658;p=brisk.git
diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh
index 0dbb358..57f209c 100644
--- a/web/Obj/brisk.phh
+++ b/web/Obj/brisk.phh
@@ -136,12 +136,12 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi',
$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "3.5.5";
+$G_brisk_version = "3.5.6";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': quinta versione di test per la nuova gestione dei dati volatili, rivista gestione del ticker.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': (tecnica) utilizzo di locking tipo lettori/scrittori al posto del locking esclusivo generico.',
'Se vuoi iscriverti alla Mailing List, cliccala!' ),
- 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: third test version for the new volatile data management, ticker management refactored.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: usage of reader/writer locking instead of generic exclusive locking.',
'If you want to subscribe our Mailing List, click it!' ) );
$G_room_help = array( 'it' => '
@@ -2148,7 +2148,7 @@ class Room {
log_auth("XXX", sprintf("TROVATO A QUESTO PUNTO [%d] sess [%s] name [%s]", $idx, $sess, $name_new));
- /* there is another user logged with your account and you and him have authenticated => che new user
+ /* there is another user logged with your account and you and him have authenticated => new user
get the session of the old user */
if ($ghost > -1 && $ghost_auth && ($authenticate != FALSE)) {
/* swap session */
@@ -2462,25 +2462,14 @@ class Room {
static function lock_data($is_exclusive)
{
- GLOBAL $sess;
-
- // echo "LOCK: ".FTOK_PATH."/main";
- // exit;
- if (($tok = @ftok(FTOK_PATH."/main", "B")) == -1) {
- return (FALSE);
- }
- // echo "FTOK ".$tok."
";
- if (($res = sem_get($tok, ($is_exclusive ? 1 : LOCK_SHARE_MAX) )) == FALSE) {
- return (FALSE);
- }
- if (sem_acquire($res)) {
+ if (($res = file_lock(FTOK_PATH."/main", $is_exclusive)) != FALSE) {
self::$delta_t = microtime(TRUE);
log_lock("LOCK room [".self::$delta_t."]");
-
+
return ($res);
}
- else
- return (FALSE);
+
+ return (FALSE);
}
static function unlock_data($res)
@@ -2489,7 +2478,7 @@ class Room {
log_lock("UNLOCK room [".(microtime(TRUE) - (self::$delta_t))."]");
- return (sem_release($res));
+ file_unlock($res);
}
@@ -3106,21 +3095,13 @@ class Warrant {
static function lock_data($is_exclusive)
{
- GLOBAL $sess;
-
- if (($tok = @ftok(FTOK_PATH."/warrant", "B")) == -1) {
- return (FALSE);
- }
- // echo "FTOK ".$tok."
";
- if (($res = sem_get($tok, ($is_exclusive ? 1 : LOCK_SHARE_MAX) )) == FALSE) {
- return (FALSE);
- }
- if (sem_acquire($res)) {
- self::$delta_t = microtime(TRUE);
- log_lock("LOCK warrant [".self::$delta_t."]");
- return ($res);
- }
- else
+ if (($res = file_lock(FTOK_PATH."/warrant", $is_exclusive)) != FALSE) {
+ self::$delta_t = microtime(TRUE);
+ log_lock("LOCK warrant [".self::$delta_t."]");
+
+ return ($res);
+ }
+
return (FALSE);
}
@@ -3130,7 +3111,7 @@ class Warrant {
log_lock("UNLOCK warrant [".(microtime(TRUE) - (self::$delta_t))."]");
- return (sem_release($res));
+ file_unlock($res);
}
}
@@ -3139,22 +3120,13 @@ class Poll {
static function lock_data($is_exclusive)
{
- GLOBAL $sess;
-
- if (($tok = @ftok(FTOK_PATH."/poll", "B")) == -1) {
- return (FALSE);
- }
- // echo "FTOK ".$tok."
";
- if (($res = sem_get($tok, ($is_exclusive ? 1 : LOCK_SHARE_MAX) )) == FALSE) {
- return (FALSE);
- }
- if (sem_acquire($res)) {
- self::$delta_t = microtime(TRUE);
- log_lock("LOCK poll [".self::$delta_t."]");
-
- return ($res);
- }
- else
+ if (($res = file_lock(FTOK_PATH."/poll", $is_exclusive)) != FALSE) {
+ self::$delta_t = microtime(TRUE);
+ log_lock("LOCK poll [".self::$delta_t."]");
+
+ return ($res);
+ }
+
return (FALSE);
}
@@ -3164,7 +3136,7 @@ class Poll {
log_lock("UNLOCK poll [".(microtime(TRUE) - (self::$delta_t))."]");
- return (sem_release($res));
+ file_unlock($res);
}
}