summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2012-10-18 15:59:55 +0200
committerMichael Adam <obnox@samba.org>2012-10-19 12:14:58 +0200
commit8eab264470ee7adea1e448fc29bc8111902a83b0 (patch)
tree5f61f87cc5491df00122e22b16c74022c77b1bc3
parent781db9d1e564797546009aa5a49378b6e70502d7 (diff)
downloadsamba-8eab264470ee7adea1e448fc29bc8111902a83b0.tar.gz
samba-8eab264470ee7adea1e448fc29bc8111902a83b0.tar.bz2
samba-8eab264470ee7adea1e448fc29bc8111902a83b0.zip
s3:smbd: move initialization of the smbd_shim from smbd_init_globals() to main()
This is in preparation of adding server exit hooks to the shim. Signed-off-by: Michael Adam <obnox@samba.org>
-rw-r--r--source3/smbd/globals.c16
-rw-r--r--source3/smbd/server.c15
2 files changed, 15 insertions, 16 deletions
diff --git a/source3/smbd/globals.c b/source3/smbd/globals.c
index 80f6a66427..3eb65a1320 100644
--- a/source3/smbd/globals.c
+++ b/source3/smbd/globals.c
@@ -20,7 +20,6 @@
#include "includes.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
-#include "lib/smbd_shim.h"
#include "memcache.h"
#include "messages.h"
#include "tdb_compat.h"
@@ -111,23 +110,8 @@ struct memcache *smbd_memcache(void)
return smbd_memcache_ctx;
}
-static const struct smbd_shim smbd_shim_fns =
-{
- .cancel_pending_lock_requests_by_fid = smbd_cancel_pending_lock_requests_by_fid,
- .send_stat_cache_delete_message = smbd_send_stat_cache_delete_message,
- .change_to_root_user = smbd_change_to_root_user,
-
- .contend_level2_oplocks_begin = smbd_contend_level2_oplocks_begin,
- .contend_level2_oplocks_end = smbd_contend_level2_oplocks_end,
-
- .become_root = smbd_become_root,
- .unbecome_root = smbd_unbecome_root
-};
-
void smbd_init_globals(void)
{
- set_smbd_shim(&smbd_shim_fns);
-
ZERO_STRUCT(conn_ctx_stack);
ZERO_STRUCT(sec_ctx_stack);
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 7dad13bbe4..d34ee4cbf2 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -44,6 +44,7 @@
#include "lib/background.h"
#include "lib/conn_tdb.h"
#include "../lib/util/pidfile.h"
+#include "lib/smbd_shim.h"
struct smbd_open_socket;
struct smbd_child_pid;
@@ -1053,6 +1054,18 @@ extern void build_options(bool screen);
struct server_id server_id;
struct tevent_signal *se;
char *np_dir = NULL;
+ static const struct smbd_shim smbd_shim_fns =
+ {
+ .cancel_pending_lock_requests_by_fid = smbd_cancel_pending_lock_requests_by_fid,
+ .send_stat_cache_delete_message = smbd_send_stat_cache_delete_message,
+ .change_to_root_user = smbd_change_to_root_user,
+
+ .contend_level2_oplocks_begin = smbd_contend_level2_oplocks_begin,
+ .contend_level2_oplocks_end = smbd_contend_level2_oplocks_end,
+
+ .become_root = smbd_become_root,
+ .unbecome_root = smbd_unbecome_root,
+ };
/*
* Do this before any other talloc operation
@@ -1064,6 +1077,8 @@ extern void build_options(bool screen);
load_case_tables();
+ set_smbd_shim(&smbd_shim_fns);
+
smbd_init_globals();
TimeInit();