[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1 of 2 V3] xs: block signals in watch wakeup thread
The thread created to wakeup watchers is not intended to handle signals (and a later patch will reduce it's stack size which makes it unsuitable for doing so). Signed-off-by: Simon Rowe <simon.rowe@xxxxxxxxxxxxx> diff -r 6bea63e6c780 -r 711a707dc776 tools/xenstore/xs.c --- a/tools/xenstore/xs.c Sat Jun 02 08:39:45 2012 +0100 +++ b/tools/xenstore/xs.c Wed Jun 06 10:04:15 2012 +0100 @@ -705,11 +705,18 @@ bool xs_watch(struct xs_handle *h, const /* We dynamically create a reader thread on demand. */ mutex_lock(&h->request_mutex); if (!h->read_thr_exists) { + sigset_t set, old_set; + + sigfillset(&set); + pthread_sigmask(SIG_SETMASK, &set, &old_set); + if (pthread_create(&h->read_thr, NULL, read_thread, h) != 0) { + pthread_sigmask(SIG_SETMASK, &old_set, NULL); mutex_unlock(&h->request_mutex); return false; } h->read_thr_exists = 1; + pthread_sigmask(SIG_SETMASK, &old_set, NULL); } mutex_unlock(&h->request_mutex); #endif _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |