diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-09-27 09:24:51 +0200 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-10-01 10:21:33 +0200 |
commit | cb2dba2c1257e0aa80edc9a171a9c5cd7b2822f8 (patch) | |
tree | 437e9be13be7c6c6880a878da7acc7d1eb35b9a6 /src/server/tcl_server.c | |
parent | 5a41435e45ae18c0823780382c214fb7324dbe7d (diff) |
server: read/write now goes through connection fn's
depending on whether the connection is over a socket
or pipe, the read is done differently.
pipes can return -1 when writing 0 bytes, make 0 byte
writes a successful no-op. 0 byte writes falls out
naturally of tcl server code.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/server/tcl_server.c')
-rw-r--r-- | src/server/tcl_server.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/tcl_server.c b/src/server/tcl_server.c index 9aaee5c6..7d84de73 100644 --- a/src/server/tcl_server.c +++ b/src/server/tcl_server.c @@ -57,7 +57,7 @@ int tcl_output(struct connection *connection, const void *data, ssize_t len) if (tclc->tc_outerror) return ERROR_SERVER_REMOTE_CLOSED; - wlen = write_socket(connection->fd, data, len); + wlen = connection_write(connection, data, len); if (wlen == len) return ERROR_OK; @@ -92,7 +92,7 @@ static int tcl_input(struct connection *connection) struct tcl_connection *tclc; unsigned char in[256]; - rlen = read_socket(connection->fd, &in, sizeof(in)); + rlen = connection_read(connection, &in, sizeof(in)); if (rlen <= 0) { if (rlen < 0) LOG_ERROR("error during read: %s", strerror(errno)); |