/**
  * @see parent::close()
  */
 function close()
 {
     if ($this->mutex) {
         $this->mutex->release();
     } else {
         $ds = self::$ds;
         $query = $ds->prepare("SELECT RELEASE_LOCK(%1)", $this->lock_name);
         if (!$ds->query($query)) {
             return false;
         }
     }
     return true;
 }
Пример #2
0
<?php

/**
 * $Id: httpreq_test_mutex_multi.php 24615 2014-09-01 10:52:44Z phenxdesign $
 *
 * @package    Mediboard
 * @subpackage developpement
 * @author     SARL OpenXtrem <*****@*****.**>
 * @license    GNU General Public License, see http://www.gnu.org/licenses/gpl.html
 * @version    $Revision: 24615 $
 */
CCanDo::checkRead();
$sleep = 5;
$i = CValue::get("i");
$duration = CValue::get("duration", 10);
$colors = array("#f00", "#0f0", "#09f", "#ff0", "#f0f", "#0ff");
// Remove session lock
CSessionHandler::writeClose();
$mutex = new CMbMutex("test", isset($colors[$i]) ? $colors[$i] : null);
$time = $mutex->acquire($duration);
sleep($sleep);
$mutex->release();
$data = array("driver" => get_class($mutex->getDriver()), "i" => $i, "time" => $time);
ob_clean();
echo json_encode($data);
CApp::rip();
 /**
  * @see parent::close()
  */
 function close()
 {
     $this->mutex->release();
     return true;
 }
Пример #4
0
$files = array_diff($files, array($filename_excludes));
$files = array_diff($files, $files_excludes);
$files = array_slice($files, 0, $count);
// Mise à jour du fichier avec le nouveau diff
if (file_exists($filename_excludes)) {
    unlink($filename_excludes);
}
$file = fopen($filename_excludes, "a+");
foreach (array_diff($files_excludes, $array_diff) as $_file_exclude) {
    fputs($file, $_file_exclude . "\n");
}
if (empty($files)) {
    CCronJobLog::$log = CAppUI::tr("CEAIDispatcher-no-file");
    CAppUI::stepAjax("CEAIDispatcher-no-file", UI_MSG_WARNING);
    // Libère le verrou
    $lock->release();
    return;
}
foreach ($files as $_filepath) {
    $sender->_delete_file = $delete_file;
    $path_info = pathinfo($_filepath);
    if (!isset($path_info["extension"])) {
        continue;
    }
    $extension = $path_info["extension"];
    // Cas où l'extension voulue par la source FS est différente du fichier
    if ($fileextension && $extension != $fileextension) {
        continue;
    }
    $path = rtrim($path_info["dirname"], "\\/");
    $_filepath_no_ext = "{$path}/" . $path_info["filename"];