summaryrefslogtreecommitdiff
path: root/src/server.c
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2023-05-17 10:55:17 +0900
committerNIIBE Yutaka <gniibe@fsij.org>2023-05-17 10:55:17 +0900
commit6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a (patch)
treeb95049d835579972a6f0236b018d68a2f5082aac /src/server.c
parentf3b3ddfd7ffbf74ae91ce0f8f9908915974cf2c6 (diff)
downloadlibassuan-6350f796fdd1c7519c35a9cd71b33b6dafc5ed3a.tar.gz
w32: Cleaner semantics for PID and Process handle.
* src/assuan-defs.h (struct assuan_context_s): Introduce SERVER_PROC member. Clarify the use of PROCESS_ID and PID. Introduce assuan_pid_t for internal use of process id or handle. * src/assuan.h.in: Follow the change. * src/assuan.c (assuan_new_ext): Likewise. * src/client.c (_assuan_client_finish): Likewise. * src/assuan-pipe-connect.c (pipe_connect): Likewise. * src/server.c (_assuan_server_finish): Likewise. * src/system-posix.c: Likewise. * src/system-w32.c: Likewise. * src/system.c: Likewise. * src/assuan-pipe-server.c (assuan_init_pipe_server) [HAVE_W32_SYSTEM]: Exclude the use of _assuan_pipe_connect_pid. * src/assuan-socket-server.c (accept_connection_bottom) [HAVE_W32_SYSTEM]: Exclude the use of the member peercred.pid. * src/assuan-socket.c (_assuan_sock_check_nonce): Support Cygwin Unix domain emulation for having valid client process ID. * src/context.c (assuan_get_pid): Clarify the use cases. * src/posix-types.inc.h, src/w32-types.inc.h: Introduce assuan_pid_t. -- GnuPG-bug-id: 6487 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Diffstat (limited to 'src/server.c')
-rw-r--r--src/server.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server.c b/src/server.c
index 5e96798..2ffbdbc 100644
--- a/src/server.c
+++ b/src/server.c
@@ -44,10 +44,12 @@ _assuan_server_finish (assuan_context_t ctx)
_assuan_close (ctx, ctx->outbound.fd);
ctx->outbound.fd = ASSUAN_INVALID_FD;
}
- if (ctx->pid != ASSUAN_INVALID_PID && ctx->pid)
- {
- ctx->pid = ASSUAN_INVALID_PID;
- }
+
+#if defined(HAVE_W32_SYSTEM)
+ ctx->process_id = -1;
+#else
+ ctx->pid = ASSUAN_INVALID_PID;
+#endif
_assuan_uds_deinit (ctx);