diff options
Diffstat (limited to 'usr/src/lib')
-rw-r--r-- | usr/src/lib/fm/topo/modules/common/ses/ses.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/usr/src/lib/fm/topo/modules/common/ses/ses.c b/usr/src/lib/fm/topo/modules/common/ses/ses.c index d8d7b5e24b..835c6e7b9a 100644 --- a/usr/src/lib/fm/topo/modules/common/ses/ses.c +++ b/usr/src/lib/fm/topo/modules/common/ses/ses.c @@ -22,6 +22,7 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2012 Milan Jurik. All rights reserved. + * Copyright 2015 Nexenta Systems, Inc. All rights reserved. */ #include <alloca.h> @@ -452,12 +453,15 @@ ses_contract_thread(void *arg) ctid_t ctid; struct pollfd fds; int pollret; + sigset_t sigset; ses_ct_print("start contract event thread"); efd = open64(CTFS_ROOT "/device/pbundle", O_RDONLY); fds.fd = efd; fds.events = POLLIN; fds.revents = 0; + sigaddset(&sigset, sesthread.thr_sig); + pthread_sigmask(SIG_UNBLOCK, &sigset, NULL); for (;;) { /* check if we've been asked to exit */ (void) pthread_mutex_lock(&sesthread.mt); |