diff options
| author | Jakob Kaivo <jkk@ung.org> | 2019-03-02 12:04:38 -0500 |
|---|---|---|
| committer | Jakob Kaivo <jkk@ung.org> | 2019-03-02 12:04:38 -0500 |
| commit | bf1a4a5a88fbbb21dec716896eff8319f2997ce7 (patch) | |
| tree | 4817519c4a9be2ce2ca0512fb14563c9a7f4eb25 /src/setjmp/sigsetjmp.c | |
| parent | 4d6a7c78e82718b77d647f6c048b4438bcf1cf65 (diff) | |
add documentation
Diffstat (limited to 'src/setjmp/sigsetjmp.c')
| -rw-r--r-- | src/setjmp/sigsetjmp.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/setjmp/sigsetjmp.c b/src/setjmp/sigsetjmp.c index 37c9727f..46eebeba 100644 --- a/src/setjmp/sigsetjmp.c +++ b/src/setjmp/sigsetjmp.c @@ -1,10 +1,32 @@ #include <setjmp.h> +#include "signal.h" + +/** save program state with signal mask **/ int sigsetjmp(sigjmp_buf env, int savemask) { - (void)env; (void)savemask; - return 0; + if (savemask) { + /* save mask to env */ + } + return setjmp(env); } + +/*** +saves the current state of the calling environment in the +TYPEDEF(sigjmp_buf) ARGUMENT(env). If ARGUMENT(savemask) is nonzero, the saved +environment includes the signal mask of the current thread. +***/ + /* +CONSTRAINT: entire controlling expression of a selection or iteration statement +CONSTRAINT: one operand of a relational or equality operator which is the entire controlling expression of a selction or iteration statement +CONSTRAINT: the operand of a unary ! as the entire controlling expression of a selection or iteration statement +CONSTRAINT: an entire expression statement + +UNSPECIFIED(Whether THIS() is a macro or identifier with external linkage) + +UNDEFINED(A macro definition of THIS() is suppressed in order to access an actual function) +UNDEFINED(A program defines an external identifier named LITERAL(setjmp)) + POSIX(1) */ |
