HEX
HEX
Server: Apache/2
System: Linux 31.186.11.143 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: tek178om (4688)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/tek178om/domains/teknocut.com/public_html/wp-content/plugins/backup/src/JetBackup/IO/Lock.php
<?php

namespace JetBackup\IO;

if (!defined( '__JETBACKUP__')) die('Direct access is not allowed');

class Lock {

	private static $_files;

	private static function _getFile($filename) {
		if (!file_exists($filename)) touch($filename);
		if (!isset(self::$_files[$filename])) self::$_files[$filename] = @fopen($filename, 'r');
		return self::$_files[$filename];
	}

	private static function _closeFile($filename) {
		if (!isset(self::$_files[$filename])) return;
		@fclose(self::$_files[$filename]);
		unset(self::$_files[$filename]);
	}

	public static function LockFile($filename, $block = false): bool {
		if (($fd = self::_getFile($filename)) === false) return false;
		$flag = LOCK_EX;
		if (!$block) $flag |= LOCK_NB;
		$wouldblock = 0;
		$ret = flock($fd, $flag, $wouldblock);
		if ((!$block && $wouldblock) || $ret === false) return false;
		return true;
	}

	public static function UnlockFile($filename) {
		if (
			($fd = self::_getFile($filename)) === false ||
			flock($fd, LOCK_UN) === false
		) return;
		self::_closeFile($filename);
	}
}