diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-06-14 18:38:50 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-06-14 18:38:50 +0000 |
commit | c8cf0c1ce9cf1b38b302ae4a2a6fa798fef85f08 (patch) | |
tree | 9f73e3140dc8762a78b4972f921077f39c4b66b0 /src/socket-server.c | |
parent | edfad835cb7e4ab9f62de81cf4bf6b6ad9610b02 (diff) |
a bunch of fixes
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@10 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/socket-server.c')
-rw-r--r-- | src/socket-server.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/socket-server.c b/src/socket-server.c index 2a1db9a0..6ad225e3 100644 --- a/src/socket-server.c +++ b/src/socket-server.c @@ -104,6 +104,7 @@ fail: struct socket_server* socket_server_new_ipv4(struct mainloop *m, uint32_t address, uint16_t port) { int fd = -1; struct sockaddr_in sa; + int on = 1; assert(m && port); @@ -112,10 +113,13 @@ struct socket_server* socket_server_new_ipv4(struct mainloop *m, uint32_t addres goto fail; } + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0) + fprintf(stderr, "setsockopt(): %s\n", strerror(errno)); + sa.sin_family = AF_INET; sa.sin_port = htons(port); sa.sin_addr.s_addr = htonl(address); - + if (bind(fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { fprintf(stderr, "bind(): %s\n", strerror(errno)); goto fail; |