diff options
author | Hans Rosenfeld <hans.rosenfeld@nexenta.com> | 2015-06-03 21:55:30 +0200 |
---|---|---|
committer | Dan McDonald <danmcd@omniti.com> | 2015-06-19 14:05:47 -0400 |
commit | 057c620a8f2b46f09e91dfff7da884175a36b0a8 (patch) | |
tree | b4604462c8f8b36845980d492d921ed7039e4d4e | |
parent | 3f2b8a52377413f4fdd822ed4aa046ba5eff81d9 (diff) | |
download | illumos-joyent-057c620a8f2b46f09e91dfff7da884175a36b0a8.tar.gz |
5996 libtopo ses module unload takes too long
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>
-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); |