summaryrefslogtreecommitdiff
path: root/src/assuan-socket-server.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <mb@g10code.com>2009-11-27 19:12:01 +0000
committerMarcus Brinkmann <mb@g10code.com>2009-11-27 19:12:01 +0000
commit4b6374bc374428ac71c43e1158ff75a027a1eb72 (patch)
tree124bd553fc3481405fd1e573b978fb2a1f362d19 /src/assuan-socket-server.c
parentb41cc03c891deac4bb35af3c88f8b635ebfb632c (diff)
downloadlibassuan-4b6374bc374428ac71c43e1158ff75a027a1eb72.tar.gz
2009-11-27 Marcus Brinkmann <marcus@g10code.de>
* assuan.h (assuan_set_assuan_log_stream): Add prototype. * libassuan.def, libassuan.vers: Add back assuan_set_assuan_log_stream. * assuan-logging.c (assuan_set_assuan_log_stream): Add back. * context.c (assuan_get_pointer): Don't output debug info here. (assuan_get_peercred, assuan_get_pid): But do here. * system.c: Improve debug output. * assuan-defs.h (struct assuan_context_s): Rename pipe_mode to max_accepts. * assuan-listen.c (assuan_accept): Rework max accepts logic. * assuan-socket-server.c (assuan_init_socket_server), assuan-socket-connect.c (assuan_socket_connect), assuan-pipe-server.c (assuan_init_pipe_server), assuan-pipe-connect.c (socketpair_connect): Add debug output, set max_accepts instead of pipe_mode.
Diffstat (limited to 'src/assuan-socket-server.c')
-rw-r--r--src/assuan-socket-server.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/assuan-socket-server.c b/src/assuan-socket-server.c
index a4431fa..84b980e 100644
--- a/src/assuan-socket-server.c
+++ b/src/assuan-socket-server.c
@@ -38,7 +38,7 @@
# include <sys/un.h>
#endif
-
+#include "debug.h"
#include "assuan-defs.h"
static gpg_error_t
@@ -116,10 +116,12 @@ assuan_init_socket_server (assuan_context_t ctx, assuan_fd_t fd,
unsigned int flags)
{
gpg_error_t rc;
-
+ TRACE_BEG2 (ctx, ASSUAN_LOG_CTX, "assuan_init_socket_server", ctx,
+ "fd=0x%x, flags=0x%x", fd, flags);
+
rc = _assuan_register_std_commands (ctx);
if (rc)
- return rc;
+ return TRACE_ERR (rc);
ctx->engine.release = _assuan_server_release;
ctx->engine.readfnc = _assuan_simple_read;
@@ -128,7 +130,10 @@ assuan_init_socket_server (assuan_context_t ctx, assuan_fd_t fd,
ctx->engine.receivefd = NULL;
ctx->is_server = 1;
if (flags & ASSUAN_SOCKET_SERVER_ACCEPTED)
- ctx->pipe_mode = 1; /* We want a second accept to indicate EOF. */
+ /* We want a second accept to indicate EOF. */
+ ctx->max_accepts = 1;
+ else
+ ctx->max_accepts = -1;
ctx->input_fd = ASSUAN_INVALID_FD;
ctx->output_fd = ASSUAN_INVALID_FD;
@@ -156,7 +161,7 @@ assuan_init_socket_server (assuan_context_t ctx, assuan_fd_t fd,
rc = _assuan_register_std_commands (ctx);
if (rc)
_assuan_reset (ctx);
- return rc;
+ return TRACE_ERR (rc);
}