autofs-5.0.4 - fix pthread push order in expire_proc_direct() From: Ian Kent Apparently the pthread_cleanup_push() has the quite stupid semantic of not working properly if the value of the pointer passed to it changes after it has been called. --- CHANGELOG | 1 + daemon/direct.c | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 4b85649..4491449 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -58,6 +58,7 @@ - fix map type info parse error. - fix an RPC fd leak. - don't block signals we expect to dump core. +- fix pthread push order in expire_proc_direct(). 4/11/2008 autofs-5.0.4 ----------------------- diff --git a/daemon/direct.c b/daemon/direct.c index 7b02c7a..0f33d03 100644 --- a/daemon/direct.c +++ b/daemon/direct.c @@ -823,8 +823,8 @@ void *expire_proc_direct(void *arg) left = 0; - pthread_cleanup_push(mnts_cleanup, mnts); mnts = tree_make_mnt_tree(_PROC_MOUNTS, "/"); + pthread_cleanup_push(mnts_cleanup, mnts); /* Get a list of mounts select real ones and expire them if possible */ INIT_LIST_HEAD(&list);