aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--lib/fuse_mt.c2
-rw-r--r--lib/helper.c1
3 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 55769c8..dc31a70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,8 @@
fuse_commit_write(), clear the dirty flag and set the uptodate
flag for that page
+ * Some memory cleanup at exit
+
2004-07-13 Miklos Szeredi <miklos@szeredi.hu>
* Add FUSE_HARD_REMOVE flag, and '-i' option to fuse main, which
diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c
index 89c0fc8..71196a9 100644
--- a/lib/fuse_mt.c
+++ b/lib/fuse_mt.c
@@ -125,6 +125,8 @@ void __fuse_loop_mt(struct fuse *f, fuse_processor_t proc, void *data)
for (i = 1; i < f->numworker; i++)
pthread_cancel(w->threads[i]);
pthread_mutex_unlock(&f->lock);
+ pthread_key_delete(f->context_key);
+ free(w);
}
void fuse_loop_mt(struct fuse *f)
diff --git a/lib/helper.c b/lib/helper.c
index d597c46..76b6eb7 100644
--- a/lib/helper.c
+++ b/lib/helper.c
@@ -56,6 +56,7 @@ static void set_one_signal_handler(int signal, void (*handler)(int))
struct sigaction sa;
struct sigaction old_sa;
+ memset(&sa, 0, sizeof(struct sigaction));
sa.sa_handler = handler;
sigemptyset(&(sa.sa_mask));
sa.sa_flags = 0;