[PATCH] Some minor messaging cleanup patches
Volker Lendecke
Volker.Lendecke at SerNet.DE
Thu Jul 24 07:29:07 MDT 2014
Hi!
Review would be appreciated!
Thanks,
Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 19bda049f57a520326f56560d7f9127628ffd32c Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:06:45 +0000
Subject: [PATCH 1/4] messaging3: Remove two procid_str_static calls
... and thus implicit talloc_tos() calls
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source3/lib/messages.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 9514392..9d77bf8 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -90,6 +90,7 @@ static void ping_message(struct messaging_context *msg_ctx,
struct server_id src,
DATA_BLOB *data)
{
+ struct server_id_buf idbuf;
const char *msg = "none";
char *free_me = NULL;
@@ -98,8 +99,8 @@ static void ping_message(struct messaging_context *msg_ctx,
data->length);
msg = free_me;
}
- DEBUG(1,("INFO: Received PING message from PID %s [%s]\n",
- procid_str_static(&src), msg));
+ DEBUG(1, ("INFO: Received PING message from PID %s [%s]\n",
+ server_id_str_buf(src, &idbuf), msg));
TALLOC_FREE(free_me);
messaging_send(msg_ctx, src, MSG_PONG, data);
}
@@ -143,13 +144,15 @@ static int traverse_fn(struct db_record *rec, const struct server_id *id,
(const uint8_t *)msg_all->buf, msg_all->len);
if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_HANDLE)) {
+ struct server_id_buf idbuf;
/*
* If the pid was not found delete the entry from
* serverid.tdb
*/
- DEBUG(2, ("pid %s doesn't exist\n", procid_str_static(id)));
+ DEBUG(2, ("pid %s doesn't exist\n",
+ server_id_str_buf(*id, &idbuf)));
dbwrap_record_delete(rec);
}
--
1.8.1.2
From 895eb394b2c1fbde3d4f99897f3a7b02b744ee60 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:17:13 +0000
Subject: [PATCH 2/4] messaging3: Simplify ping_message()
The talloc_strnup was only used to \0-terminate the data for printing. The
same can be achieved by %.* in the printf format.
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source3/lib/messages.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 9d77bf8..a308a09 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -91,17 +91,11 @@ static void ping_message(struct messaging_context *msg_ctx,
DATA_BLOB *data)
{
struct server_id_buf idbuf;
- const char *msg = "none";
- char *free_me = NULL;
- if (data->data != NULL) {
- free_me = talloc_strndup(talloc_tos(), (char *)data->data,
- data->length);
- msg = free_me;
- }
- DEBUG(1, ("INFO: Received PING message from PID %s [%s]\n",
- server_id_str_buf(src, &idbuf), msg));
- TALLOC_FREE(free_me);
+ DEBUG(1, ("INFO: Received PING message from PID %s [%.*s]\n",
+ server_id_str_buf(src, &idbuf), (int)data->length,
+ data->data ? (char *)data->data : ""));
+
messaging_send(msg_ctx, src, MSG_PONG, data);
}
--
1.8.1.2
From d922d33ee6b21b1a5630bccab94fe3d155f7230b Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 17 Jul 2014 09:09:25 +0000
Subject: [PATCH 3/4] messaging4: Simplify ping_message with
server_id_str_buf()
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source4/lib/messaging/messaging.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c
index 4242b1c..ffa668a 100644
--- a/source4/lib/messaging/messaging.c
+++ b/source4/lib/messaging/messaging.c
@@ -113,11 +113,10 @@ static void irpc_handler(struct imessaging_context *, void *,
static void ping_message(struct imessaging_context *msg, void *private_data,
uint32_t msg_type, struct server_id src, DATA_BLOB *data)
{
- char *task_id = server_id_str(NULL, &src);
+ struct server_id_buf idbuf;
DEBUG(1,("INFO: Received PING message from server %s [%.*s]\n",
- task_id, (int)data->length,
+ server_id_str_buf(src, &idbuf), (int)data->length,
data->data?(const char *)data->data:""));
- talloc_free(task_id);
imessaging_send(msg, src, MSG_PONG, data);
}
--
1.8.1.2
From ae26da809548cae0dcb1c55028cc8efa6b4697bb Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Wed, 9 Jul 2014 13:34:59 +0000
Subject: [PATCH 4/4] messaging3: Remove an unnecessary variable
We can inspect rec.buf with a debugger, no separate variable needed
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source3/lib/messages.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index a308a09..bbc5183 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -428,20 +428,17 @@ NTSTATUS messaging_send_iov(struct messaging_context *msg_ctx,
if (messaging_is_self_send(msg_ctx, &server)) {
struct messaging_rec rec;
uint8_t *buf;
- DATA_BLOB data;
buf = iov_buf(talloc_tos(), iov, iovlen);
if (buf == NULL) {
return NT_STATUS_NO_MEMORY;
}
- data = data_blob_const(buf, talloc_get_size(buf));
-
rec.msg_version = MESSAGE_VERSION;
rec.msg_type = msg_type & MSG_TYPE_MASK;
rec.dest = server;
rec.src = msg_ctx->id;
- rec.buf = data;
+ rec.buf = data_blob_const(buf, talloc_get_size(buf));
messaging_dispatch_rec(msg_ctx, &rec);
TALLOC_FREE(buf);
return NT_STATUS_OK;
--
1.8.1.2
More information about the samba-technical
mailing list