diff options
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -247,7 +247,7 @@ server_exec(struct server *server, const char *cmd) r = clone(server_exec_child, stack + sizeof(stack), CLONE_VM | CLONE_VFORK | CLONE_PIDFD | SIGCHLD, (void *)cmd, &pidfd); - if (r != 0) { + if (r < 0) { error("clone: %m: %i", r); return false; } @@ -435,9 +435,11 @@ server_announce_cb(struct uring_task *task, int res) assert_return(task); if (res < 0) - error("failure %i", res); + error("%s: failure %i", server->name, res); + else if (res == server->ann_buf.len) + debug(DBG_ANN, "%s: ok (%i)", server->name, res); else - debug(DBG_ANN, "result %i", res); + debug(DBG_ANN, "%s: unexpected result: %i", server->name, res); uring_task_set_fd(&server->ann_task, -1); } |