Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.144.3.235
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/clveconfig/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clveconfig/ve_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

import fcntl
import os
from contextlib import contextmanager

CONFIG_DIR = '/etc/container'
LOCK_FILE = os.path.join(CONFIG_DIR, '.ve.cfg.lock')

# TODO: probably should be encapsulated
LOCK_FD = None
LOCK_WRITE = False


class LockFailedException(Exception):
    pass


def setup_global_lock(write=False):
    global LOCK_FD
    global LOCK_WRITE

    if LOCK_FD is not None:
        return False

    if write:
        LOCK_WRITE = True
    try:
        LOCK_FD = open(LOCK_FILE, 'a+', encoding='utf-8')  # pylint: disable=consider-using-with
        fcntl.flock(LOCK_FD.fileno(), fcntl.LOCK_EX)
    except IOError as e:
        raise LockFailedException("IO error happened while getting lock") from e
    LOCK_FD.seek(0, 0)
    LOCK_FD.truncate()
    LOCK_FD.write(str(os.getpid()))
    LOCK_FD.flush()
    return True


def release_lock():
    global LOCK_FD

    # write locks released only on process exit
    if LOCK_WRITE:
        return False

    if LOCK_FD is not None:
        LOCK_FD.close()
        LOCK_FD = None
        return True


@contextmanager
def acquire_lock(write=False):
    """
    Usage:
    with acquire_lock():
       ... do something with ve.cfg ...
    """
    setup_global_lock(write)
    yield
    release_lock()

Youez - 2016 - github.com/yon3zu
LinuXploit