/usr/share/cagefs-skeleton/opt/imunify360/venv/lib/python3.11/site-packages/clcommon
#!/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)
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
clcagefs.py
Edit
clcaptain.py
Edit
clconfig.py
Edit
clconfpars.py
Edit
clcustomscript.py
Edit
cldebug.py
Edit
clemail.py
Edit
clexception.py
Edit
clfunc.py
Edit
clhook.py
Edit
cllog.py
Edit
cloutput.py
Edit
clproc.py
Edit
clpwd.py
Edit
clquota.py
Edit
clsec.py
Edit
clwpos_lib.py
Edit
const.py
Edit
cpapi
Edit
evr_utils.py
Edit
features.py
Edit
group_info_reader.py
Edit
lib
Edit
lock.py
Edit
mail_helper.py
Edit
mysql_lib.py
Edit
php_conf_reader.py
Edit
public_hooks
Edit
sysctl.py
Edit
ui_config.py
Edit
utils.py
Edit
utils_cmd.py
Edit