Fix bug #5814 - Winbindd dumping core in a strange manner while doing "rescan_trusted...
commit43f509d2950d2198fb59437f8eb9fd06003b6e47
authorJeremy Allison <jra@samba.org>
Wed, 8 Oct 2008 18:40:16 +0000 (8 11:40 -0700)
committerKarolin Seeger <kseeger@samba.org>
Tue, 9 Dec 2008 10:22:16 +0000 (9 11:22 +0100)
treef98a847aebfce85a55f33fae75bef8704b005e35
parenta551938b0baa75281e9dd192a1209512052e105b
Fix bug #5814 - Winbindd dumping core in a strange manner while doing "rescan_trusted_domain".
From analysis by hargagan <shargagan@novell.com> :
"The winbindd_child_died() is also getting called from process_loop() in case of
SIGCHLD signal. In this case it doesn't make the timeout_handler to NULL for
the first request. It then initiate a new request using
schedule_async_request() which installs a new timeout handler for the same
request. In such a case, for a badly unresponsive system both the timeout
handler can be called. For the first call the "private_data" will be cleared
and for another call the timeout handler will be detecting the double free. So,
for such a case as well, the winbindd_child_died() should make the
timeout_handler to NULL."
Jeremy.
(cherry picked from commit ce8de496ec139b7a56db20c5ffbcbdc2f4db0a51)
(cherry picked from commit 15b2f1d8744d157b131a0441e8738d8519de37c7)
source/winbindd/winbindd_dual.c