[PATCHES] Two small patches for messaging in smbd parent process
Christof Schmitt
cs at samba.org
Fri Jun 27 11:08:54 MDT 2014
>From e53efde519ae495ae420a914ec4f170e0fae74c0 Mon Sep 17 00:00:00 2001
From: Christof Schmitt <cs at samba.org>
Date: Thu, 26 Jun 2014 14:50:38 -0700
Subject: [PATCH 1/2] smbd: Use common function for FORCE_DIS and KILL_CLIENT_IP in parent
The parent smbd process only forwards the message to the child
processes. Use a common function instead of two separate ones that do
the same thing.
Signed-off-by: Christof Schmitt <cs at samba.org>
---
source3/smbd/server.c | 33 +++++++++++----------------------
1 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 40684ad..0b54bc7 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -216,6 +216,15 @@ NTSTATUS messaging_send_to_children(struct messaging_context *msg_ctx,
return NT_STATUS_OK;
}
+static void smb_parent_send_to_children(struct messaging_context *ctx,
+ void* data,
+ uint32_t msg_type,
+ struct server_id srv_id,
+ DATA_BLOB* msg_data)
+{
+ messaging_send_to_children(ctx, msg_type, msg_data);
+}
+
/*
* Parent smbd process sets its own debug level first and then
* sends a message to all the smbd children to adjust their debug
@@ -361,26 +370,6 @@ static void smbd_parent_notify_proxy_done(struct tevent_req *req)
DEBUG(1, ("notify proxy job ended with %s\n", strerror(ret)));
}
-static void smb_parent_force_tdis(struct messaging_context *ctx,
- void* data,
- uint32_t msg_type,
- struct server_id srv_id,
- DATA_BLOB* msg_data)
-{
- messaging_send_to_children(ctx, msg_type, msg_data);
-}
-
-static void smb_parent_kill_client_by_ip(struct messaging_context *ctx,
- void *data,
- uint32_t msg_type,
- struct server_id srv_id,
- DATA_BLOB* msg_data)
-{
- if (am_parent) {
- messaging_send_to_children(ctx, msg_type, msg_data);
- }
-}
-
static void add_child_pid(struct smbd_parent_context *parent,
pid_t pid)
{
@@ -910,9 +899,9 @@ static bool open_sockets_smbd(struct smbd_parent_context *parent,
messaging_register(msg_ctx, NULL, MSG_SMB_BRL_VALIDATE,
brl_revalidate);
messaging_register(msg_ctx, NULL, MSG_SMB_FORCE_TDIS,
- smb_parent_force_tdis);
+ smb_parent_send_to_children);
messaging_register(msg_ctx, NULL, MSG_SMB_KILL_CLIENT_IP,
- smb_parent_kill_client_by_ip);
+ smb_parent_send_to_children);
messaging_register(msg_ctx, NULL, MSG_SMB_TELL_NUM_CHILDREN,
smb_tell_num_children);
--
1.7.1
>From 4762b50a162e5187baeb80a4deee7ad35ad5ad4a Mon Sep 17 00:00:00 2001
From: Christof Schmitt <cs at samba.org>
Date: Thu, 26 Jun 2014 14:51:23 -0700
Subject: [PATCH 2/2] smbd: Make messaging_send_to_children static
This function is only used in server.c
Signed-off-by: Christof Schmitt <cs at samba.org>
---
source3/smbd/proto.h | 2 --
source3/smbd/server.c | 4 ++--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h
index b25ef7b..ea2f022 100644
--- a/source3/smbd/proto.h
+++ b/source3/smbd/proto.h
@@ -961,8 +961,6 @@ void delete_and_reload_printers(struct tevent_context *ev,
bool reload_services(struct smbd_server_connection *sconn,
bool (*snumused) (struct smbd_server_connection *, int),
bool test);
-NTSTATUS messaging_send_to_children(struct messaging_context *msg_ctx,
- uint32_t msg_type, DATA_BLOB* data);
/* The following definitions come from smbd/server_exit.c */
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 0b54bc7..bafd493 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -194,8 +194,8 @@ static void msg_inject_fault(struct messaging_context *msg,
}
#endif /* DEVELOPER */
-NTSTATUS messaging_send_to_children(struct messaging_context *msg_ctx,
- uint32_t msg_type, DATA_BLOB* data)
+static NTSTATUS messaging_send_to_children(struct messaging_context *msg_ctx,
+ uint32_t msg_type, DATA_BLOB* data)
{
NTSTATUS status;
struct smbd_parent_context *parent = am_parent;
--
1.7.1
More information about the samba-technical
mailing list