s4-server: call the ldb_wrap_fork_hook() after a fork()
authorAndrew Tridgell <tridge@samba.org>
Fri, 23 Oct 2009 03:31:07 +0000 (14:31 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 23 Oct 2009 03:52:18 +0000 (14:52 +1100)
This will be used to allow us to cancel any pending transactions
after a fork.

source4/smbd/process_prefork.c
source4/smbd/process_standard.c

index 979a65482ececb4a2722c851769fb37e21926a4e..db5633b9f26aef55f293f04d71da5040c50c2234 100644 (file)
@@ -32,6 +32,7 @@
 #include "system/filesys.h"
 #include "cluster/cluster.h"
 #include "param/param.h"
+#include "lib/ldb_wrap.h"
 
 #ifdef HAVE_SETPROCTITLE
 #ifdef HAVE_SETPROCTITLE_H
@@ -60,6 +61,7 @@ static void prefork_reload_after_fork(void)
        if (tdb_reopen_all(1) == -1) {
                DEBUG(0,("prefork_reload_after_fork: tdb_reopen_all failed.\n"));
        }
+       ldb_wrap_fork_hook();
 
        /* Ensure that the forked children do not expose identical random streams */
        set_need_random_reseed();
index 49aaf8481a811361447e554834223b44dcfdf2f7..6e7b714a633b27c532e4fb4c83aeb1bd8c9daa49 100644 (file)
@@ -28,6 +28,7 @@
 #include "system/filesys.h"
 #include "cluster/cluster.h"
 #include "param/param.h"
+#include "lib/ldb_wrap.h"
 
 #ifdef HAVE_SETPROCTITLE
 #ifdef HAVE_SETPROCTITLE_H
@@ -127,6 +128,7 @@ static void standard_accept_connection(struct tevent_context *ev,
        if (tdb_reopen_all(1) == -1) {
                DEBUG(0,("standard_accept_connection: tdb_reopen_all failed.\n"));
        }
+       ldb_wrap_fork_hook();
 
        tevent_add_fd(ev2, ev2, child_pipe[0], TEVENT_FD_READ,
                      standard_pipe_handler, NULL);
@@ -194,6 +196,7 @@ static void standard_new_task(struct tevent_context *ev,
        if (tdb_reopen_all(1) == -1) {
                DEBUG(0,("standard_accept_connection: tdb_reopen_all failed.\n"));
        }
+       ldb_wrap_fork_hook();
 
        tevent_add_fd(ev2, ev2, child_pipe[0], TEVENT_FD_READ,
                      standard_pipe_handler, NULL);