aboutsummaryrefslogtreecommitdiffstats
path: root/src/system.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-11-27 19:12:01 +0000
committerMarcus Brinkmann <[email protected]>2009-11-27 19:12:01 +0000
commit4b6374bc374428ac71c43e1158ff75a027a1eb72 (patch)
tree124bd553fc3481405fd1e573b978fb2a1f362d19 /src/system.c
parentdoc/ (diff)
downloadlibassuan-4b6374bc374428ac71c43e1158ff75a027a1eb72.tar.gz
libassuan-4b6374bc374428ac71c43e1158ff75a027a1eb72.zip
2009-11-27 Marcus Brinkmann <[email protected]>
* 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/system.c')
-rw-r--r--src/system.c42
1 files changed, 33 insertions, 9 deletions
diff --git a/src/system.c b/src/system.c
index 852ec11..afbe8a7 100644
--- a/src/system.c
+++ b/src/system.c
@@ -192,9 +192,6 @@ __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
HANDLE wh;
HANDLE th;
SECURITY_ATTRIBUTES sec_attr;
- TRACE_BEG2 (ctx, ASSUAN_LOG_SYSIO, "__assuan_pipe", ctx,
- "inherit_idx=%i (Assuan uses it for %s)",
- inherit_idx, inherit_idx ? "reading" : "writing");
memset (&sec_attr, 0, sizeof (sec_attr));
sec_attr.nLength = sizeof (sec_attr);
@@ -202,20 +199,22 @@ __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
if (! CreatePipe (&rh, &wh, &sec_attr, 0))
{
- TRACE_LOG1 ("CreatePipe failed: %s", _assuan_w32_strerror (ctx, -1));
+ TRACE1 (ctx, ASSUAN_LOG_SYSIO, "__assuan_pipe", ctx,
+ "CreatePipe failed: %s", _assuan_w32_strerror (ctx, -1));
errno = EIO;
- return TRACE_SYSRES (-1);
+ return -1;
}
if (! DuplicateHandle (GetCurrentProcess(), (inherit_idx == 0) ? rh : wh,
GetCurrentProcess(), &th, 0,
TRUE, DUPLICATE_SAME_ACCESS ))
{
- TRACE_LOG1 ("DuplicateHandle failed: %s", _assuan_w32_strerror (ctx, -1));
+ TRACE1 (ctx, ASSUAN_LOG_SYSIO, "__assuan_pipe", ctx,
+ "DuplicateHandle failed: %s", _assuan_w32_strerror (ctx, -1));
CloseHandle (rh);
CloseHandle (wh);
errno = EIO;
- return TRACE_SYSRES (-1);
+ return -1;
}
if (inherit_idx == 0)
{
@@ -231,7 +230,7 @@ __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
fd[0] = rh;
fd[1] = wh;
- return TRACE_SUC ();
+ return 0;
#else
return pipe (fd);
#endif
@@ -242,7 +241,16 @@ __assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
int
_assuan_pipe (assuan_context_t ctx, assuan_fd_t fd[2], int inherit_idx)
{
- return (ctx->system.pipe) (ctx, fd, inherit_idx);
+ int err;
+ TRACE_BEG2 (ctx, ASSUAN_LOG_SYSIO, "_assuan_pipe", ctx,
+ "inherit_idx=%i (Assuan uses it for %s)",
+ inherit_idx, inherit_idx ? "reading" : "writing");
+
+ err = (ctx->system.pipe) (ctx, fd, inherit_idx);
+ if (err)
+ return TRACE_SYSRES (err);
+
+ return TRACE_SUC2 ("read=0x%x, write=0x%x", fd[0], fd[1]);
}
@@ -341,7 +349,15 @@ __assuan_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer, size_t size)
ssize_t
_assuan_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer, size_t size)
{
+#if 0
+ ssize_t res;
+ TRACE_BEG3 (ctx, ASSUAN_LOG_SYSIO, "_assuan_read", ctx,
+ "fd=0x%x, buffer=%p, size=%i", fd, buffer, size);
+ res = (ctx->system.read) (ctx, fd, buffer, size);
+ return TRACE_SYSRES (res);
+#else
return (ctx->system.read) (ctx, fd, buffer, size);
+#endif
}
@@ -390,7 +406,15 @@ ssize_t
_assuan_write (assuan_context_t ctx, assuan_fd_t fd, const void *buffer,
size_t size)
{
+#if 0
+ ssize_t res;
+ TRACE_BEG3 (ctx, ASSUAN_LOG_SYSIO, "_assuan_write", ctx,
+ "fd=0x%x, buffer=%p, size=%i", fd, buffer, size);
+ res = (ctx->system.write) (ctx, fd, buffer, size);
+ return TRACE_SYSRES (res);
+#else
return (ctx->system.write) (ctx, fd, buffer, size);
+#endif
}