void *private_data;
};
-NTSTATUS messaging_dgm_init(struct messaging_context *msg_ctx,
- TALLOC_CTX *mem_ctx,
- struct messaging_backend **presult);
+int messaging_dgm_init(struct messaging_context *msg_ctx,
+ TALLOC_CTX *mem_ctx,
+ struct messaging_backend **presult);
int messaging_dgm_cleanup(struct messaging_context *msg_ctx, pid_t pid);
int messaging_dgm_wipe(struct messaging_context *msg_ctx);
void *messaging_dgm_register_tevent_context(TALLOC_CTX *mem_ctx,
{
struct messaging_context *ctx;
NTSTATUS status;
+ int ret;
static bool have_context = false;
if (have_context) {
ctx->event_ctx = ev;
ctx->have_context = &have_context;
- status = messaging_dgm_init(ctx, ctx, &ctx->local);
+ ret = messaging_dgm_init(ctx, ctx, &ctx->local);
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(2, ("messaging_dgm_init failed: %s\n",
- nt_errstr(status)));
+ if (ret != 0) {
+ DEBUG(2, ("messaging_dgm_init failed: %s\n", strerror(ret)));
TALLOC_FREE(ctx);
return NULL;
}
NTSTATUS messaging_reinit(struct messaging_context *msg_ctx)
{
NTSTATUS status;
+ int ret;
TALLOC_FREE(msg_ctx->local);
msg_ctx->id = procid_self();
- status = messaging_dgm_init(msg_ctx, msg_ctx, &msg_ctx->local);
- if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0, ("messaging_dgm_init failed: %s\n",
- nt_errstr(status)));
- return status;
+ ret = messaging_dgm_init(msg_ctx, msg_ctx, &msg_ctx->local);
+ if (ret != 0) {
+ DEBUG(0, ("messaging_dgm_init failed: %s\n", strerror(errno)));
+ return map_nt_error_from_unix(ret);
}
TALLOC_FREE(msg_ctx->remote);
return ret;
}
-NTSTATUS messaging_dgm_init(struct messaging_context *msg_ctx,
- TALLOC_CTX *mem_ctx,
- struct messaging_backend **presult)
+int messaging_dgm_init(struct messaging_context *msg_ctx,
+ TALLOC_CTX *mem_ctx,
+ struct messaging_backend **presult)
{
struct messaging_backend *result;
struct messaging_dgm_context *ctx;
cache_dir = lp_cache_directory();
if (cache_dir == NULL) {
- NTSTATUS status = map_nt_error_from_unix(errno);
- return status;
+ return errno;
}
result = talloc(mem_ctx, struct messaging_backend);
"%s/%u", socket_dir, (unsigned)pid.pid);
if (sockname_len >= sizeof(socket_address.sun_path)) {
TALLOC_FREE(result);
- return NT_STATUS_NAME_TOO_LONG;
+ return ENAMETOOLONG;
}
sec_init();
DEBUG(1, ("%s: messaging_dgm_create_lockfile failed: %s\n",
__func__, strerror(ret)));
TALLOC_FREE(result);
- return map_nt_error_from_unix(ret);
+ return ret;
}
ctx->msg_callbacks = poll_funcs_init_tevent(ctx);
if (!ok) {
DEBUG(1, ("Could not create socket directory\n"));
TALLOC_FREE(result);
- return NT_STATUS_ACCESS_DENIED;
+ return EACCES;
}
TALLOC_FREE(socket_dir);
if (ret != 0) {
DEBUG(1, ("unix_msg_init failed: %s\n", strerror(ret)));
TALLOC_FREE(result);
- return map_nt_error_from_unix(ret);
+ return ret;
}
talloc_set_destructor(ctx, messaging_dgm_context_destructor);
*presult = result;
- return NT_STATUS_OK;
+ return 0;
fail_nomem:
TALLOC_FREE(result);
- return NT_STATUS_NO_MEMORY;
+ return ENOMEM;
}
static int messaging_dgm_context_destructor(struct messaging_dgm_context *c)