diff -u ./lib/tevent/tevent_signal.c.orig ./lib/tevent/tevent_signal.c --- ./lib/tevent/tevent_signal.c.orig 2010-05-17 06:51:23.000000000 -0500 +++ ./lib/tevent/tevent_signal.c 2010-05-30 13:19:38.000000000 -0500 @@ -352,16 +355,22 @@ (void*)&sig_state->sig_info[i][ofs], se->private_data); } +/* defined in replace/system/wait.h it SA_RESETHAND is not defined */ +# ifdef SA_ONESHOT if (se->sa_flags & SA_RESETHAND) { talloc_free(se); } +# endif continue; } #endif se->handler(ev, se, i, count, NULL, se->private_data); +/* defined in replace/system/wait.h it SA_RESETHAND is not defined */ +#ifdef SA_ONESHOT if (se->sa_flags & SA_RESETHAND) { talloc_free(se); } +#endif } #ifdef SA_SIGINFO