summaryrefslogtreecommitdiff
path: root/usr/src/lib/libshell/common/features/sigfeatures
diff options
context:
space:
mode:
authorchin <none@none>2007-08-17 12:01:52 -0700
committerchin <none@none>2007-08-17 12:01:52 -0700
commitda2e3ebdc1edfbc5028edf1354e7dd2fa69a7968 (patch)
tree5280d3b78e289fe9551371ab6e7f15ef9944ea14 /usr/src/lib/libshell/common/features/sigfeatures
parent073dbf9103ef2a2b05d8a16e2d26db04e0374b0e (diff)
downloadillumos-gate-da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968.tar.gz
6437624 RFE: Add ksh93 (as /usr/bin/ksh93) and libshell.so to OS/Net
6505835 AST tools and library (libpp) required for creating l10n messages for ksh93 PSARC/2006/550 Korn Shell 93 Integration PSARC/2006/587 /etc/ksh.kshrc for ksh93 PSARC/2007/035 ksh93 Amendments Contributed by Roland Mainz <roland.mainz@nrubsig.org> --HG-- rename : usr/src/lib/libcmd/common/mapfile-vers => deleted_files/usr/src/lib/libcmd/common/mapfile-vers rename : usr/src/lib/libcmd/common/placeholder.c => deleted_files/usr/src/lib/libcmd/common/placeholder.c
Diffstat (limited to 'usr/src/lib/libshell/common/features/sigfeatures')
-rw-r--r--usr/src/lib/libshell/common/features/sigfeatures49
1 files changed, 49 insertions, 0 deletions
diff --git a/usr/src/lib/libshell/common/features/sigfeatures b/usr/src/lib/libshell/common/features/sigfeatures
new file mode 100644
index 0000000000..1999dc11bb
--- /dev/null
+++ b/usr/src/lib/libshell/common/features/sigfeatures
@@ -0,0 +1,49 @@
+lib sigblock,sigrelse,sigsetmask,sigprocmask,sigvec
+typ sigset_t ast.h signal.h
+mem sigvec.sv_mask signal.h
+cat{
+ #ifndef _mem_sigvec_sv_mask
+ # undef _lib_sigvec
+ #endif
+ #ifdef _lib_sigprocmask
+ # define sh_sigaction(s,action) do { sigset_t ss;\
+ sigemptyset(&ss);\
+ sigaddset(&ss,(s));\
+ sigprocmask(action,&ss,0); \
+ }while(0)
+ # define sigrelease(s) sh_sigaction(s,SIG_UNBLOCK)
+ # define sigblock(s) sh_sigaction(s,SIG_BLOCK)
+ # define sig_begin() sh_sigaction(0,SIG_SETMASK)
+ #else
+ # ifndef _lib_sigblock
+ # define sigblock(s)
+ # endif
+ # ifdef _lib_sigsetmask
+ # define sigrelease(s) sigsetmask(0)
+ # define sig_begin() sigsetmask(0)
+ # else
+ # ifdef _lib_sigrelse
+ # define sigrelease sigrelse
+ # define sig_begin()
+ # else
+ # define sig_begin() (0)
+ # define sigrelease(s) (0)
+ # endif /* _lib_sigrelse */
+ # endif /* _lib_sigsetmask */
+ #endif /* _lib_sigprocmask */
+}end
+tst output{
+ #include <signal.h>
+ int main()
+ {
+ #ifdef SIGRTMIN
+ printf("#undef _SIGRTMIN\n");
+ printf("#define _SIGRTMIN %d\n", SIGRTMIN);
+ #endif
+ #ifdef SIGRTMAX
+ printf("#undef _SIGRTMAX\n");
+ printf("#define _SIGRTMAX %d\n", SIGRTMAX);
+ #endif
+ return 0;
+ }
+}end