diff options
author | Volker Lendecke <vl@samba.org> | 2014-06-04 14:36:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-06-18 18:51:13 +0200 |
commit | e6b33ce6112bc41f2a5027f2097c74537c056a5b (patch) | |
tree | bba896abf713a76550f9d1cafad10a4d4991ed03 /source3/lib/messages.c | |
parent | 94db1b21d062099e1a0e2f290fc12e458c6c6f76 (diff) | |
download | samba-e6b33ce6112bc41f2a5027f2097c74537c056a5b.tar.gz samba-e6b33ce6112bc41f2a5027f2097c74537c056a5b.tar.xz samba-e6b33ce6112bc41f2a5027f2097c74537c056a5b.zip |
messaging3: Make the _send function return 0/errno
This is to eventually make messaging_dgm usable in ctdb
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib/messages.c')
-rw-r--r-- | source3/lib/messages.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 1263bf1698..a9015d05b0 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -412,14 +412,20 @@ NTSTATUS messaging_send_iov(struct messaging_context *msg_ctx, struct server_id server, uint32_t msg_type, const struct iovec *iov, int iovlen) { + int ret; + if (server_id_is_disconnected(&server)) { return NT_STATUS_INVALID_PARAMETER_MIX; } if (!procid_is_local(&server)) { - return msg_ctx->remote->send_fn(msg_ctx->id, server, - msg_type, iov, iovlen, - msg_ctx->remote); + ret = msg_ctx->remote->send_fn(msg_ctx->id, server, + msg_type, iov, iovlen, + msg_ctx->remote); + if (ret != 0) { + return map_nt_error_from_unix(ret); + } + return NT_STATUS_OK; } if (messaging_is_self_send(msg_ctx, &server)) { @@ -444,8 +450,12 @@ NTSTATUS messaging_send_iov(struct messaging_context *msg_ctx, return NT_STATUS_OK; } - return msg_ctx->local->send_fn(msg_ctx->id, server, msg_type, - iov, iovlen, msg_ctx->local); + ret = msg_ctx->local->send_fn(msg_ctx->id, server, msg_type, + iov, iovlen, msg_ctx->local); + if (ret != 0) { + return map_nt_error_from_unix(ret); + } + return NT_STATUS_OK; } static struct messaging_rec *messaging_rec_dup(TALLOC_CTX *mem_ctx, |