summaryrefslogtreecommitdiffstats
path: root/include/signal.h
Commit message (Collapse)AuthorAgeFilesLines
* MFC r312934:pfg2017-03-141-4/+8
| | | | | | | | | | | | | | | Make use of clang nullability attributes in C headers. Replace uses of the GCC __nonnull__ attribute with the clang nullability qualifiers. These are starting to get use in clang's static analyzer. Replacement should be transparent for developers using clang. GCC ports from older FreeBSD versions may need updating if the compiler was built before r312860 (Jan-27-2017). Hinted by: Apple's Libc-1158.20.4, Bionic libc Relnotes: yes
* MFC r311012pfg2017-01-041-3/+3
| | | | | | | | | | | | Remove some uses of the GCC __nonnull() attribute. 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. In general, the __nonnull() attribute has fulfilled its roll and will be replaced with the Clang _Nonnull qualifier in the future.
* Fix the signature of the psignal() function.ed2016-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.
* Hide ucontext_t and mcontext_t when neither POSIX nor XSI features arekib2016-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
* POSIX states that #include <signal.h> shall make both mcontext_t andkib2016-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
* Make use of gcc attributes in some standard include headers.pfg2015-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
* Temporarily revert 280458.pfg2015-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.
* Introduce nonnull attributes in the signal and pthread headers.pfg2015-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
* include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLEjilles2014-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.
* Replace __const by const in all non-contributed source code.ed2011-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.
* Add restrict keyword to pthread_sigmask prototype and manpage.kib2011-02-201-1/+2
| | | | MFC after: 1 week
* Remove the Berkeley clause 3's.imp2010-02-161-5/+1
| | | | Add a few $FreeBSD$
* Don't name parameters, for consistency with the rest of the file, and becausecognet2009-12-221-6/+6
| | | | | | it breaks third-party apps. Submitted by: gahr
* Implement sighold, sigignore, sigpause, sigrelse, sigset functionskib2009-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
* Revert r190943, since the problem in ports seems to be fixed now.das2009-04-171-2/+0
| | | | | It's amazing how a well-placed eyesore generates more motivation in a day than email generates in three weeks.
* GNU Pth has some fragile kludges that were broken by r189828.das2009-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.
* Fix the visibility of several prototypes. Also move pthread_kill() anddas2009-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.
* Add psignal to the POSIX.1-2008 namespace.das2009-03-041-1/+4
|
* Use __pid_t instead of pid_t for sigqueue as other functions.davidxu2005-10-161-1/+1
|
* Add sigqueue function prototype.davidxu2005-10-141-9/+2
|
* - Define sigwait, sigtimedwait, and sigwaitinfo in terms ofjeff2003-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.
* Fixed style bug near $FreeBSD$. VCS ids in copyrights should not bebde2002-10-161-1/+0
| | | | separated by a blank line.
* o Move forward declaration for struct timespec to a more appropriatemike2002-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
* Assume POSIX/XSI is always visible in the __BSD_VISIBLE case. Fix amike2002-10-131-5/+8
| | | | mix-up with siginterrupt().
* Add restrict type-qualifier.mike2002-10-121-2/+1
|
* o Use relatively new visibility primitives from <sys/cdefs.h>.mike2002-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>).
* Add the 'restrict' type qualifier to the prototypes of `sigaction',robert2002-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.
* o Merge <machine/ansi.h> and <machine/types.h> into a new headermike2002-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
* Breath deep and take __P out of the system include files.imp2002-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.
* Oops, forgot to commit this (s/ucontext_t/struct __ucontext/).deischen2002-02-171-1/+1
|
* Remove the inline versions of sigaddset, sigdelset, sigemptyset,marcel1999-10-021-53/+0
| | | | | | sigfillset and sigismember. Submitted by: bde
* sigset_t change (part 5 of 5)marcel1999-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.
* Add a strsignal(3) (like strerror(3)) for libc compatability with otherpeter1999-05-181-0/+1
| | | | systems. NetBSD, Linux, SVR4 etc all have it.
* Add the prototype for sigwait().jb1998-08-251-0/+1
|
* Move the include of <machine/ansi.h> to before <sys/signal.h>.dfr1998-08-051-1/+1
|
* nuke signanosleep().peter1998-05-141-5/+0
|
* Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B anddufault1998-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.
* Put sigevent and AIO_LISTIO_MAX back in aio.h sodufault1998-03-081-17/+0
| | | | that kernels can be built.
* Reviewed by: bdedufault1998-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.
* Reviewed by: msmith, bde long agodufault1998-03-041-0/+5
| | | | | POSIX.4 headers and sysctl variables. Nothing should change unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
* Added missing declaration of signanosleep().bde1998-01-161-0/+5
|
* Added missing prototype for sigaltstack()smpatel1996-06-281-0/+1
|
* Fix standards conformance bugs in <signal.h>:bde1995-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.
* BSD 4.4 Lite Include Sourcesrgrimes1994-05-241-0/+82
OpenPOWER on IntegriCloud