aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-02-12 20:41:34 +0000
committerWerner Koch <[email protected]>2002-02-12 20:41:34 +0000
commit19267c9da4a608123a0a857c63bfdaccd6afcd23 (patch)
tree8a113933bff4371806a7e692e6de024b3183d31b
parent2002-02-01 Marcus Brinkmann <[email protected]> (diff)
downloadlibassuan-19267c9da4a608123a0a857c63bfdaccd6afcd23.tar.gz
libassuan-19267c9da4a608123a0a857c63bfdaccd6afcd23.zip
* assuan-buffer.c (writen,readline) [USE_GNU_PT]: Use pth_read/write.
* assuan-socket-server.c (accept_connection) [USE_GNU_PTH]: Ditto.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/assuan-buffer.c12
-rw-r--r--src/assuan-socket-server.c7
3 files changed, 23 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 290fef5..f9c7555 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-12 Werner Koch <[email protected]>
+
+ * assuan-buffer.c (writen,readline) [USE_GNU_PT]: Use pth_read/write.
+ * assuan-socket-server.c (accept_connection) [USE_GNU_PTH]: Ditto.
+
2002-02-01 Marcus Brinkmann <[email protected]>
* Makefile.am (MOSTLYCLEANFILES): New variable.
diff --git a/src/assuan-buffer.c b/src/assuan-buffer.c
index bd08817..e349a69 100644
--- a/src/assuan-buffer.c
+++ b/src/assuan-buffer.c
@@ -25,7 +25,9 @@
#include <errno.h>
#include <unistd.h>
#include <assert.h>
-
+#ifdef USE_GNU_PTH
+# include <pth.h>
+#endif
#include "assuan-defs.h"
@@ -34,7 +36,11 @@ writen ( int fd, const char *buffer, size_t length )
{
while (length)
{
+#ifdef USE_GNU_PTH
+ int nwritten = pth_write (fd, buffer, length);
+#else
int nwritten = write (fd, buffer, length);
+#endif
if (nwritten < 0)
{
@@ -59,7 +65,11 @@ readline (int fd, char *buf, size_t buflen, int *r_nread, int *eof)
*r_nread = 0;
while (nleft > 0)
{
+#ifdef USE_GNU_PTH
+ int n = pth_read (fd, buf, nleft);
+#else
int n = read (fd, buf, nleft);
+#endif
if (n < 0)
{
if (errno == EINTR)
diff --git a/src/assuan-socket-server.c b/src/assuan-socket-server.c
index 6ad6455..d10d9d4 100644
--- a/src/assuan-socket-server.c
+++ b/src/assuan-socket-server.c
@@ -25,6 +25,9 @@
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
+#ifdef USE_GNU_PTH
+# include <pth.h>
+#endif
#include "assuan-defs.h"
@@ -35,7 +38,11 @@ accept_connection (ASSUAN_CONTEXT ctx)
struct sockaddr_un clnt_addr;
size_t len = sizeof clnt_addr;
+#ifdef USE_GNU_PTH
+ fd = pth_accept (ctx->listen_fd, (struct sockaddr*)&clnt_addr, &len );
+#else
fd = accept (ctx->listen_fd, (struct sockaddr*)&clnt_addr, &len );
+#endif
if (fd == -1)
{
ctx->os_errno = errno;