From 8153608073b7859eed32b8963b4a052243b4858f Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 14 Nov 2018 09:12:59 +0900 Subject: server: Don't call _assuan_waitpid on server side. * src/server.c (_assuan_server_finish): Never call waitpid here. * src/assuan-socket-server.c (accept_connection_bottom): Indentation. -- The waitpid/wait only makes sense by parent catching its child process. Since the commit 93595de1ede96dedfcaa93c7442536a2cde0b6ef (for version 0.6.5, in 2004-04-21), CTX->PID on server side has client PID. In the commit cb53f862ff2a864da822d1c16d3df6a02157608b (2009-11-19), call of _assuan_waitpid was introduced in assuan_server_finish, but this call always fails because the process is not a child process of server. (If we could catch exit of non-child process, it might cause a dead lock, since client does call waitpid too.) The indentation fix is to show the place where PID is assigned. Signed-off-by: NIIBE Yutaka --- src/server.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/server.c') diff --git a/src/server.c b/src/server.c index 7c82f02..5e96798 100644 --- a/src/server.c +++ b/src/server.c @@ -46,7 +46,6 @@ _assuan_server_finish (assuan_context_t ctx) } if (ctx->pid != ASSUAN_INVALID_PID && ctx->pid) { - _assuan_waitpid (ctx, ctx->pid, ctx->flags.no_waitpid, NULL, 0); ctx->pid = ASSUAN_INVALID_PID; } -- cgit v1.2.3