diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2011-02-02 12:18:38 +0100 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2011-02-02 12:18:38 +0100 |
commit | 71b1c37a66b187404f2099ddbfb0d3912e65b821 (patch) | |
tree | 84d867fa8e1b731cf1a1f44c2ee9c0d91b7a4ccf | |
parent | cbd3a2a84068aae6e3fe32939d88470d712dbf47 (diff) |
libfuse: fuse_session_loop_mt() shouldn't pause when exiting worker threads
In fuse_session_loop_mt() don't pause when exiting the worker threads.
The pause() was added in 2.2.1 to prevent segfault on pthread_cancel()
on an exited, detached thread. Now worker threads are not detached
and pthread_cancel() should work fine even after the thread exited.
Reported by Boris Protopopov
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib/fuse_loop_mt.c | 2 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2011-02-02 Miklos Szeredi <miklos@szeredi.hu> + + * libfuse: In fuse_session_loop_mt() don't pause when exiting the + worker threads. The pause() was added in 2.2.1 to prevent + segfault on pthread_cancel() on an exited, detached thread. Now + worker threads are not detached and pthread_cancel() should work + fine even after the thread exited. Reported by Boris Protopopov + 2011-01-31 Miklos Szeredi <miklos@szeredi.hu> * In case of failure to add to /etc/mtab use same mountpoint for diff --git a/lib/fuse_loop_mt.c b/lib/fuse_loop_mt.c index a76713b..694f98c 100644 --- a/lib/fuse_loop_mt.c +++ b/lib/fuse_loop_mt.c @@ -133,8 +133,6 @@ static void *fuse_do_work(void *data) } sem_post(&mt->finish); - pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); - pause(); return NULL; } |