Signal blocking under Linux & OS X
Project description
Provides access to sigprocmask(2) and friends and convenience wrappers to python application developers wanting to SIG_BLOCK and SIG_UNBLOCK signals in critical sections of their code.
Most common usage
from signal import SIGINT, SIGTERM from pysigset import suspended_signals with suspended_signals(SIGINT, SIGTERM): # Signals are blocked here.. pass # Any pending signal is fired now..
Also available
sigaddset(*args) int sigaddset(sigset_t *set, int signum) sigdelset(*args) int sigdelset(sigset_t *set, int signum) sigemptyset(*args) int sigemptyset(sigset_t *set) sigfillset(*args) int sigfillset(sigset_t *set) sigismember(*args) int sigismember(const sigset_t *set, int signum) sigpending(*args) int sigpending(sigset_t *set) sigprocmask(*args) int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) sigsuspend(*args) int sigsuspend(const sigset_t *mask)
Similar tools
python-signalfd provides access to sigprocmask and signalfd. Its advantage is access to signalfd. Its disadvantage is a compilation requirement.
pysigset has a pythonic interface and requires only ctypes access to libc.so.6 or libSystem.B.dylib.
Changes
2021-05-03: 0.4.0
Change License to LGPL 3.
2015-09-22: 0.3.2
Python 3 compatibility (thanks Kevin Pouget).
Update version, update trove classifiers; adding Python 3, moving to Production/Stable.
2015-05-23: 0.2.2
Fix so we can install using setup.py again.
2013-07-30: 0.2.1
Fix so the RST is displayed on PyPI.
2013-07-30: 0.2
Add support for OS X / Darwin (thanks Dan Sully (dsully))
Add support for easy uploading to PyPI.
2013-04-15: 0.1
Initial release.
Copyright
Copyright 2013-2021, Walter Doekes (OSSO B.V.)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.