OXIESEC PANEL
- Current Dir:
/
/
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
clcommon
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
09/05/2025 09:34:06 AM
rwxr-xr-x
📄
__init__.py
1.37 KB
06/23/2025 12:47:48 PM
rw-r--r--
📁
__pycache__
-
09/05/2025 09:30:59 AM
rwxr-xr-x
📄
clcagefs.py
10.99 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clcaptain.py
1.96 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clconfig.py
1.68 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clconfpars.py
12.09 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clcustomscript.py
1.16 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
cldebug.py
905 bytes
06/23/2025 12:47:48 PM
rw-r--r--
📄
clemail.py
1.65 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clexception.py
1.14 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clfunc.py
6.47 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clhook.py
3.86 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
cllog.py
1.45 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
cloutput.py
471 bytes
06/23/2025 12:47:48 PM
rw-r--r--
📄
clproc.py
4.05 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clpwd.py
7.74 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clquota.py
1.27 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
clsec.py
657 bytes
06/23/2025 12:47:48 PM
rw-r--r--
📄
clwpos_lib.py
16.6 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
const.py
277 bytes
06/23/2025 12:47:48 PM
rw-r--r--
📁
cpapi
-
09/05/2025 09:31:00 AM
rwxr-xr-x
📄
evr_utils.py
3.55 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
features.py
5.01 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
group_info_reader.py
5.29 KB
06/23/2025 12:47:48 PM
rw-r--r--
📁
lib
-
09/05/2025 09:30:59 AM
rwxr-xr-x
📄
lock.py
1.02 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
mail_helper.py
4.45 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
mysql_lib.py
5.84 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
php_conf_reader.py
9.77 KB
06/23/2025 12:47:48 PM
rw-r--r--
📁
public_hooks
-
09/05/2025 09:30:59 AM
rwxr-xr-x
📄
sysctl.py
7.61 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
ui_config.py
3.12 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
utils.py
33.13 KB
06/23/2025 12:47:48 PM
rw-r--r--
📄
utils_cmd.py
2.71 KB
06/23/2025 12:47:48 PM
rw-r--r--
Editing: lock.py
Close
#!/usr/bin/python # coding=utf-8 # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT # pylint: disable=consider-using-with # pylint: disable=unspecified-encoding import contextlib import fcntl import os def setup_lock(lockfile_path): lock_file_dir = os.path.dirname(lockfile_path) if lock_file_dir and not os.path.exists(lock_file_dir): os.makedirs(lock_file_dir) fd = open(lockfile_path, 'a+') # waiting till lock is acquired fcntl.flock(fd, fcntl.LOCK_EX) fd.seek(0, 0) fd.truncate() fd.write(str(os.getpid())) fd.flush() return fd def release_lock(fd): fcntl.flock(fd.fileno(), fcntl.LOCK_UN) fd.close() @contextlib.contextmanager def acquire_lock(lockfile_path): """ Usage: with acquire_lock(): ... do something ... """ fd = setup_lock(lockfile_path) try: yield finally: release_lock(fd)