aboutsummaryrefslogtreecommitdiffstats
path: root/src/assuan-socket-server.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2018-11-14 00:12:59 +0000
committerNIIBE Yutaka <[email protected]>2018-11-14 00:12:59 +0000
commit8153608073b7859eed32b8963b4a052243b4858f (patch)
tree4c704150f11b201a8abf4822543f06e0bc8bf2c9 /src/assuan-socket-server.c
parentbuild: Update autogen.rc and autogen.sh. (diff)
downloadlibassuan-8153608073b7859eed32b8963b4a052243b4858f.tar.gz
libassuan-8153608073b7859eed32b8963b4a052243b4858f.zip
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 <[email protected]>
Diffstat (limited to 'src/assuan-socket-server.c')
-rw-r--r--src/assuan-socket-server.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/assuan-socket-server.c b/src/assuan-socket-server.c
index 4e255c2..e1e0c60 100644
--- a/src/assuan-socket-server.c
+++ b/src/assuan-socket-server.c
@@ -108,12 +108,12 @@ accept_connection_bottom (assuan_context_t ctx)
socklen_t unpl = sizeof unp;
if (getsockopt (fd, 0, LOCAL_PEEREID, &unp, &unpl) != -1)
- {
- ctx->peercred_valid = 1;
- ctx->peercred.pid = unp.unp_pid;
- ctx->peercred.uid = unp.unp_euid;
- ctx->peercred.gid = unp.unp_egid;
- }
+ {
+ ctx->peercred_valid = 1;
+ ctx->peercred.pid = unp.unp_pid;
+ ctx->peercred.uid = unp.unp_euid;
+ ctx->peercred.gid = unp.unp_egid;
+ }
}
#elif defined (HAVE_GETPEERUCRED)
{ /* Solaris */