diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 23:08:37 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 23:08:37 +0200 |
commit | 42f8488a5f66d7c1e5324bd1755d7f693b16ee97 (patch) | |
tree | 54c7d2a62c4ea34b1250b5362c8e6f89d03f1a02 /nsprpub/pr/src/md/unix/unix.c | |
parent | 681c39a0ecc84fc918b2bec72cc69ad27d39903a (diff) | |
parent | 6c3f95480a191ce432ddfb2aa400a6d70c4884a8 (diff) | |
download | UXP-42f8488a5f66d7c1e5324bd1755d7f693b16ee97.tar UXP-42f8488a5f66d7c1e5324bd1755d7f693b16ee97.tar.gz UXP-42f8488a5f66d7c1e5324bd1755d7f693b16ee97.tar.lz UXP-42f8488a5f66d7c1e5324bd1755d7f693b16ee97.tar.xz UXP-42f8488a5f66d7c1e5324bd1755d7f693b16ee97.zip |
Merge branch 'master' into Basilisk-releasev2018.04.26
Diffstat (limited to 'nsprpub/pr/src/md/unix/unix.c')
-rw-r--r-- | nsprpub/pr/src/md/unix/unix.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/nsprpub/pr/src/md/unix/unix.c b/nsprpub/pr/src/md/unix/unix.c index 29e24e574..662f561b6 100644 --- a/nsprpub/pr/src/md/unix/unix.c +++ b/nsprpub/pr/src/md/unix/unix.c @@ -2854,11 +2854,28 @@ void _PR_UnixInit(void) #endif #endif /* !defined(_PR_PTHREADS) */ + /* + * Under HP-UX DCE threads, sigaction() installs a per-thread + * handler, so we use sigvector() to install a process-wide + * handler. + */ +#if defined(HPUX) && defined(_PR_DCETHREADS) + { + struct sigvec vec; + + vec.sv_handler = SIG_IGN; + vec.sv_mask = 0; + vec.sv_flags = 0; + rv = sigvector(SIGPIPE, &vec, NULL); + PR_ASSERT(0 == rv); + } +#else sigact.sa_handler = SIG_IGN; sigemptyset(&sigact.sa_mask); sigact.sa_flags = 0; rv = sigaction(SIGPIPE, &sigact, 0); PR_ASSERT(0 == rv); +#endif /* HPUX && _PR_DCETHREADS */ _pr_rename_lock = PR_NewLock(); PR_ASSERT(NULL != _pr_rename_lock); |