X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
clcommon
/
??
..
??
__init__.py
(1.37 KB)
??
__pycache__
??
clcagefs.py
(10.99 KB)
??
clcaptain.py
(1.96 KB)
??
clconfig.py
(1.68 KB)
??
clconfpars.py
(12.09 KB)
??
clcustomscript.py
(1.16 KB)
??
cldebug.py
(905 B)
??
clemail.py
(1.65 KB)
??
clexception.py
(1.14 KB)
??
clfunc.py
(6.47 KB)
??
clhook.py
(3.86 KB)
??
cllog.py
(1.45 KB)
??
cloutput.py
(471 B)
??
clproc.py
(4.05 KB)
??
clpwd.py
(7.74 KB)
??
clquota.py
(1.27 KB)
??
clsec.py
(657 B)
??
clwpos_lib.py
(16.6 KB)
??
const.py
(277 B)
??
cpapi
??
evr_utils.py
(3.55 KB)
??
features.py
(5.01 KB)
??
group_info_reader.py
(5.29 KB)
??
lib
??
lock.py
(1.02 KB)
??
mail_helper.py
(4.45 KB)
??
mysql_lib.py
(5.84 KB)
??
php_conf_reader.py
(9.77 KB)
??
public_hooks
??
sysctl.py
(7.61 KB)
??
ui_config.py
(3.12 KB)
??
utils.py
(32.91 KB)
??
utils_cmd.py
(2.71 KB)
Editing: lock.py
#!/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)
Upload File
Create Folder