summaryrefslogtreecommitdiff
path: root/src/server/gdb_server.c
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-09-27 08:26:31 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-10-01 10:21:33 +0200
commit5a41435e45ae18c0823780382c214fb7324dbe7d (patch)
treecc9aa3f6c884328dcb4fbc969a7ba45b09ed8282 /src/server/gdb_server.c
parenta60a57d8ed1cb28de1eca0e2d6d78d70bd873663 (diff)
downloadopenocd+libswd-5a41435e45ae18c0823780382c214fb7324dbe7d.tar.gz
openocd+libswd-5a41435e45ae18c0823780382c214fb7324dbe7d.tar.bz2
openocd+libswd-5a41435e45ae18c0823780382c214fb7324dbe7d.tar.xz
openocd+libswd-5a41435e45ae18c0823780382c214fb7324dbe7d.zip
server: split file descriptors in in/out fd's
pipes have different fd's for in/out. This makes the code more orthogonal and prepares for adding pipes. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/server/gdb_server.c')
-rw-r--r--src/server/gdb_server.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index 76c3e363..7343b87c 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -176,7 +176,7 @@ static int gdb_get_char_inner(struct connection *connection, int* next_char)
#endif
for (;;)
{
- if (connection->service->type == CONNECTION_PIPE)
+ if (connection->service->type != CONNECTION_TCP)
{
gdb_con->buf_cnt = read(connection->fd, gdb_con->buffer, GDB_BUFFER_SIZE);
}
@@ -328,20 +328,9 @@ static int gdb_write(struct connection *connection, void *data, int len)
if (gdb_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
- if (connection->service->type == CONNECTION_PIPE)
+ if (write_socket(connection->fd_out, data, len) == len)
{
- /* write to stdout */
- if (write(STDOUT_FILENO, data, len) == len)
- {
- return ERROR_OK;
- }
- }
- else
- {
- if (write_socket(connection->fd, data, len) == len)
- {
- return ERROR_OK;
- }
+ return ERROR_OK;
}
gdb_con->closed = 1;
return ERROR_SERVER_REMOTE_CLOSED;