lock.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. $logger = new HMCLogger("Lock");
  3. $lockFile = $GLOBALS['HMC_CLUSTER_PATH']."/lockfile";
  4. $GLOBALS['fileHdl'] = 0;
  5. function LockAcquire() {
  6. global $lockFile;
  7. global $logger;
  8. // $logger->log_debug("About to acquire lock for pid: " .
  9. // json_encode(posix_getpid()));
  10. $fileHdl = fopen($lockFile, "r");
  11. $GLOBALS['fileHdl'] = $fileHdl;
  12. $retval = flock($fileHdl, LOCK_EX);
  13. /* Uncomment for debugging purposes
  14. $e = new Exception;
  15. $logger->log_debug("Acquired Lock Status for Process: "
  16. . json_encode(posix_getpid()). " : ". json_encode($retval) . " backtrace: ".
  17. $e->getTraceAsString());
  18. unset($e);
  19. */
  20. return;
  21. }
  22. function LockRelease() {
  23. global $lockFile;
  24. global $logger;
  25. // $logger->log_debug("Trying to release lock Process: "
  26. // . json_encode(posix_getpid()));
  27. $fileHdl = $GLOBALS['fileHdl'];
  28. $retval = flock($fileHdl, LOCK_UN);
  29. /* Uncomment for debugging purposes
  30. $e = new Exception;
  31. $logger->log_debug("Released Lock Status for Process: "
  32. . json_encode(posix_getpid()). " : ". json_encode($retval) . " backtrace: ".
  33. $e->getTraceAsString());
  34. unset($e);
  35. */
  36. }
  37. ?>