aboutsummaryrefslogtreecommitdiffstats
path: root/include/signal.h
Commit message (Collapse)AuthorAgeFilesLines
* Add sigsetop extensions commonly found in musl libc and glibcKyle Evans2019-12-121-0/+3
| | | | | | | | | | | | | | These functions (sigandset, sigisemptyset, sigorset) are commonly available in at least musl libc and glibc; sigorset, at least, has proven quite useful in qemu-bsd-user work for tracking the current process signal mask in a more self-documenting/aesthetically pleasing manner. Reviewed by: bapt, jilles, pfg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D22187 Notes: svn path=/head/; revision=355641
* include: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-201-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point. Notes: svn path=/head/; revision=326024
* Make use of clang nullability attributes.Pedro F. Giffuni2017-01-281-4/+8
| | | | | | | | | | | | | | | | | | Replace uses of the GCC __nonnull__ attribute with the clang nullability qualifiers. The replacement should be transparent for clang developers as the new qualifiers will produce the same warnings and will be useful for static checkers but will not cause aggressive optimizations. GCC will not produce such warnings and developers will have to use upgraded GCC ports built with the system headers from r312538. Hinted by: Apple's Libc-1158.20.4, Bionic libc MFC after: 11.1 Release Differential Revision: https://reviews.freebsd.org/D9004 Notes: svn path=/head/; revision=312934
* Remove some uses of the GCC __nonnull() attribute.Pedro F. Giffuni2017-01-011-3/+3
| | | | | | | | | | | | | | | While the checks are considered useful, the attribute does dangerous optimizations, removing NULL checks where they can be needed. Remove the uses of this attribute introduced in r281130: the changes were inspired on Google's bionic where this attribute is not used anymore. The __nonnull() attribute will be deprecrated from our headers and replaced with the Clang _Nonnull qualifier in the future. MFC after: 3 days Notes: svn path=/head/; revision=311012
* Fix the signature of the psignal() function.Ed Schouten2016-05-301-1/+1
| | | | | | | | | | | POSIX 2008 added the psignal() function which has already been part of the BSDs for a long time. The only difference is, the POSIX version uses an 'int' for the signal number, unlike our version which uses an 'unsigned int'. Fix up the function to use an 'int'. This should not affect the ABI. Notes: svn path=/head/; revision=300997
* Hide ucontext_t and mcontext_t when neither POSIX nor XSI features areKonstantin Belousov2016-02-131-0/+2
| | | | | | | | | | | | enabled in the compilation environment, i.e. for ANSI C use of #include <signal.h>. Requested and reviewed by: bde Sponsored by: The FreeBSD Foundation MFC after: 13 days Notes: svn path=/head/; revision=295602
* POSIX states that #include <signal.h> shall make both mcontext_t andKonstantin Belousov2016-02-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | ucontext_t available. Our code even has XXX comment about this. Add a bit of compliance by moving struct __ucontext definition into sys/_ucontext.h and including it into signal.h and sys/ucontext.h. Several machine/ucontext.h headers were changed to use namespace-safe types (like uint64_t->__uint64_t) to not depend on sys/types.h. struct __stack_t from sys/signal.h is made always visible in private namespace to satisfy sys/_ucontext.h requirements. Apparently mips _types.h pollutes global namespace with f_register_t type definition. This commit does not try to fix the issue. PR: 207079 Reported and tested by: Ting-Wei Lan <lantw44@gmail.com> Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Notes: svn path=/head/; revision=295561
* Make use of gcc attributes in some standard include headers.Pedro F. Giffuni2015-04-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | The `nonnull' attribute specifies that some function parameters should be non-null pointers. This is very useful as it helps the compiler generate warnings on suspicious code and can also enable some small optimizations. Also start using 'alloc_size' attribute in the allocator functions. This is an initial step to better integrate our libc with the compiler: these attributes are fully supported by clang and they are also useful for the static analyzer. Note that due to some bogus internal procedure in the way gcc ports are built they may require updating if they were built before r280801. Relnotes: yes Hinted by: Android's bionic libc Differential Revision: https://reviews.freebsd.org/D2107 Notes: svn path=/head/; revision=281130
* Temporarily revert 280458.Pedro F. Giffuni2015-03-251-3/+3
| | | | | | | | | | | GCC is still carries an old version of cdefs.h which doesn't accept multiple parameters for the nonnull attribute. Since this issue probably affects many ports in the tree we will revert it for now until gcc gets fixed. Notes: svn path=/head/; revision=280636
* Introduce nonnull attributes in the signal and pthread headers.Pedro F. Giffuni2015-03-241-3/+3
| | | | | | | | | | | | | | | | The `nonnull' attribute specifies that some function parameters should be non-null pointers. This is very useful as it helps the compiler generate warnings on suspicious code and can also enable some small optimizations. In clang this is also useful for the static analyzer. While we could go on defining this all over the tree, it only makes sense to annotate a subset of critical functions. Hinted by: Android's bionic libc Differential Revision: https://reviews.freebsd.org/D2101 Notes: svn path=/head/; revision=280458
* include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLEJilles Tjoelker2014-05-111-1/+1
| | | | | | | | | | | | or __POSIX_VISIBLE. Whenever <sys/cdefs.h> sets __BSD_VISIBLE to non-zero, it also sets __POSIX_VISIBLE and __XSI_VISIBLE to the newest version supported. No functional change is intended. Notes: svn path=/head/; revision=265878
* Replace __const by const in all non-contributed source code.Ed Schouten2011-12-131-3/+3
| | | | | | | | | As C1X is close to being released, there is no need to wrap around a feature that is already part of C90. Most of these files already use `const' in different placed as well. Notes: svn path=/head/; revision=228468
* Add restrict keyword to pthread_sigmask prototype and manpage.Konstantin Belousov2011-02-201-1/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=218881
* Remove the Berkeley clause 3's.Warner Losh2010-02-161-5/+1
| | | | | | | Add a few $FreeBSD$ Notes: svn path=/head/; revision=203964
* Don't name parameters, for consistency with the rest of the file, and becauseOlivier Houchard2009-12-221-6/+6
| | | | | | | | | it breaks third-party apps. Submitted by: gahr Notes: svn path=/head/; revision=200881
* Implement sighold, sigignore, sigpause, sigrelse, sigset functionsKonstantin Belousov2009-11-261-1/+6
| | | | | | | | | | | | | from SUSv4 XSI. Note that the functions are obsoleted, and only provided to ease porting from System V-like systems. Since sigpause already exists in compat with different interface, XSI sigpause is named xsi_sigpause. Reviewed by: davidxu MFC after: 3 weeks Notes: svn path=/head/; revision=199827
* Revert r190943, since the problem in ports seems to be fixed now.David Schultz2009-04-171-2/+0
| | | | | | | | It's amazing how a well-placed eyesore generates more motivation in a day than email generates in three weeks. Notes: svn path=/head/; revision=191202
* GNU Pth has some fragile kludges that were broken by r189828.David Schultz2009-04-111-0/+2
| | | | | | | | | I've discussed this with the Pth maintainer and no clear solution has emerged on the ports side of things, so for now, hack around the issue in signal.h. Notes: svn path=/head/; revision=190943
* Fix the visibility of several prototypes. Also move pthread_kill() andDavid Schultz2009-03-141-1/+12
| | | | | | | | | | | | | pthread_sigmask() to signal.h. In principle, this shouldn't break anything, since they're already in signal.h on other systems, and the FreeBSD manpage says that both pthread.h and signal.h need to be included to get these functions. Add a hack to declare pthread_t in the P1003.1-2008 namespace in signal.h. Notes: svn path=/head/; revision=189828
* Add psignal to the POSIX.1-2008 namespace.David Schultz2009-03-041-1/+4
| | | | Notes: svn path=/head/; revision=189352
* Use __pid_t instead of pid_t for sigqueue as other functions.David Xu2005-10-161-1/+1
| | | | Notes: svn path=/head/; revision=151395
* Add sigqueue function prototype.David Xu2005-10-141-9/+2
| | | | Notes: svn path=/head/; revision=151318
* - Define sigwait, sigtimedwait, and sigwaitinfo in terms ofJeff Roberson2003-03-311-1/+1
| | | | | | | | | kern_sigtimedwait() which is capable of supporting all of their semantics. - These should be POSIX compliant but more careful review is needed before we announce this. Notes: svn path=/head/; revision=112893
* Fixed style bug near $FreeBSD$. VCS ids in copyrights should not beBruce Evans2002-10-161-1/+0
| | | | | | | separated by a blank line. Notes: svn path=/head/; revision=105208
* o Move forward declaration for struct timespec to a more appropriateMike Barcroft2002-10-141-2/+14
| | | | | | | | | | | | | | location. o Don't prototype functions for which we don't have an implementation. o Add forward declaration for struct __ucontext, previously this was forward declared in <sys/signal.h>. o Add a comment about the size of NSIG. PR: 35924 Submitted by: bde Notes: svn path=/head/; revision=105107
* Assume POSIX/XSI is always visible in the __BSD_VISIBLE case. Fix aMike Barcroft2002-10-131-5/+8
| | | | | | | mix-up with siginterrupt(). Notes: svn path=/head/; revision=105013
* Add restrict type-qualifier.Mike Barcroft2002-10-121-2/+1
| | | | Notes: svn path=/head/; revision=104989
* o Use relatively new visibility primitives from <sys/cdefs.h>.Mike Barcroft2002-10-061-16/+25
| | | | | | | | | o Add typedef for pid_t. o Add comment about missing restrict type-qualifier. o Remove unneeded includes (<sys/_posix.h> and <sys/time.h>). Notes: svn path=/head/; revision=104582
* Add the 'restrict' type qualifier to the prototypes of `sigaction',Robert Drehmel2002-10-021-6/+7
| | | | | | | | | `sigprocmask', `sigaltstack', and `sigwait' as well as to the prototypes of the apparantly unimplemented functions `sigtimedwait' and `sigwaitinfo'. This complies with IEEE Std 1003.1-2001. Notes: svn path=/head/; revision=104368
* o Merge <machine/ansi.h> and <machine/types.h> into a new headerMike Barcroft2002-08-211-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien Notes: svn path=/head/; revision=102227
* Breath deep and take __P out of the system include files.Warner Losh2002-03-231-25/+25
| | | | | | | | | # This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure. Notes: svn path=/head/; revision=93032
* Oops, forgot to commit this (s/ucontext_t/struct __ucontext/).Daniel Eischen2002-02-171-1/+1
| | | | Notes: svn path=/head/; revision=90780
* Remove the inline versions of sigaddset, sigdelset, sigemptyset,Marcel Moolenaar1999-10-021-53/+0
| | | | | | | | | sigfillset and sigismember. Submitted by: bde Notes: svn path=/head/; revision=51871
* sigset_t change (part 5 of 5)Marcel Moolenaar1999-09-291-8/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------- Most of the userland changes are in libc. For both the alpha and the i386 setjmp has been changed to accomodate for the new sigset_t. Internally, libc is mostly rewritten to use the new syscalls. The exception is in compat-43/sigcompat.c The POSIX thread library has also been rewritten to use the new sigset_t. Except, that it currently only handles NSIG signals instead of the maximum _SIG_MAXSIG. This should not be a problem because current applications don't use any signals higher than NSIG. There are version bumps for the following libraries: libdialog libreadline libc libc_r libedit libftpio libss These libraries either a) have one of the modified structures visible in the interface, or b) use sigset_t internally and may cause breakage if new binaries are used against libraries that don't have the sigset_t change. This not an immediate issue, but will be as soon as applications start using the new range to its fullest. NOTE: libncurses already had an version bump and has not been given one now. NOTE: doscmd is a real casualty and has been disconnected for the moment. Reconnection will eventually happen after doscmd has been fixed. I'm aware that being the last one to touch it, I'm automaticly promoted to being maintainer. According to good taste this means that I will receive a badge which either will be glued or mechanically stapled, drilled or otherwise violently forced onto me :-) NOTE: pcvt/vttest cannot be compiled with -traditional. The change cause sys/types to be included along the way which contains the const and volatile modifiers. I don't consider this a solution, but more a workaround. Notes: svn path=/head/; revision=51794
* Add a strsignal(3) (like strerror(3)) for libc compatability with otherPeter Wemm1999-05-181-0/+1
| | | | | | | systems. NetBSD, Linux, SVR4 etc all have it. Notes: svn path=/head/; revision=47289
* Add the prototype for sigwait().John Birrell1998-08-251-0/+1
| | | | Notes: svn path=/head/; revision=38538
* Move the include of <machine/ansi.h> to before <sys/signal.h>.Doug Rabson1998-08-051-1/+1
| | | | Notes: svn path=/head/; revision=38119
* nuke signanosleep().Peter Wemm1998-05-141-5/+0
| | | | Notes: svn path=/head/; revision=36036
* Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B andPeter Dufault1998-03-281-8/+2
| | | | | | | | | | | | | | | | | | | _KPOSIX_PRIORITY_SCHEDULING options to work. Changes: Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones; Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux; Add man pages for _POSIX_PRIORITY_SCHEDULING system calls; Add options to LINT; Minor fixes to P1003_1B code during testing. Notes: svn path=/head/; revision=34925
* Put sigevent and AIO_LISTIO_MAX back in aio.h soPeter Dufault1998-03-081-17/+0
| | | | | | | that kernels can be built. Notes: svn path=/head/; revision=34327
* Reviewed by: bdePeter Dufault1998-03-081-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | Changes to support building with _POSIX_SOURCE set to 199309L: 1. Add sys/_posix.h to handle those preprocessor defs that POSIX says have effects when defined before including any header files; 2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE 3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now defined in POSIX. These show up when: _POSIX_SOURCE and _POSIX_C_SOURCE are not set or _POSIX_C_SOURCE is set >= 199309L and vanish when: _POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L. 4. Explain these in man 9 posix4; 5. Include _posix.h and conditionalize on new feature test. Notes: svn path=/head/; revision=34319
* Reviewed by: msmith, bde long agoPeter Dufault1998-03-041-0/+5
| | | | | | | | POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309. Notes: svn path=/head/; revision=34030
* Added missing declaration of signanosleep().Bruce Evans1998-01-161-0/+5
| | | | Notes: svn path=/head/; revision=32557
* Added missing prototype for sigaltstack()Sujal Patel1996-06-281-0/+1
| | | | Notes: svn path=/head/; revision=16810
* Fix standards conformance bugs in <signal.h>:Bruce Evans1995-06-281-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | include/signal.h: There was massive namespace pollution from including <sys/types.h>. POSIX functions were declared even when _ANSI_SOURCE is defined. sys.sys/signal.h: NSIG was declared even if _ANSI_SOURCE or _POSIX_SOURCE is defined. sig_atomic_t wasn't declared if _POSIX_SOURCE is defined. Declare a typedef for signal handling functions and use it to unobfuscate declarations and to avoid half-baked function types that cause unwanted compiler warnings at certain warning levels. Fix confusing comment about SA_RESTART. sys/i386/include/signal.h: This has to be included to get the declaration of sig_atomic_t even when _ANSI_SOURCE is defined, so be more careful about polluting the ANSI namespace. Uniformize idempotency ifdefs. Notes: svn path=/head/; revision=9343
* BSD 4.4 Lite Include SourcesRodney W. Grimes1994-05-241-0/+82
Notes: svn path=/head/; revision=1539