use SO_REUSEADDR also for SIP UDP socket

This commit is contained in:
Thomas Ries 2005-10-09 21:03:46 +00:00
parent ab4189e60e
commit b3140c4ad7
2 changed files with 8 additions and 3 deletions

View File

@ -120,7 +120,7 @@ void log_tcp_listen(void) {
}
if (setsockopt(debug_listen_fd, SOL_SOCKET, SO_REUSEADDR, &on , sizeof(on)) < 0) {
ERROR("socket returned error [%i:%s]",errno, strerror(errno));
ERROR("setsockopt returned error [%i:%s]",errno, strerror(errno));
return;
}

View File

@ -193,7 +193,7 @@ int sipsock_send(struct in_addr addr, int port, int protocol,
*/
int sockbind(struct in_addr ipaddr, int localport, int errflg) {
struct sockaddr_in my_addr;
int sts;
int sts, on=1;
int sock;
int flags;
@ -205,10 +205,15 @@ int sockbind(struct in_addr ipaddr, int localport, int errflg) {
sock=socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (sock < 0) {
ERROR("socket() call failed: %s",strerror(errno));
ERROR("socket call failed: %s",strerror(errno));
return 0;
}
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on , sizeof(on)) < 0) {
ERROR("setsockopt returned error [%i:%s]",errno, strerror(errno));
return;
}
sts=bind(sock, (struct sockaddr *)&my_addr, sizeof(my_addr));
if (sts != 0) {
if (errflg) ERROR("bind failed: %s",strerror(errno));