projects
/
l2tpns.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
4577ff0
)
make cluster_sockfd non-blocking
author
Brendan O'Dea
<bod@optus.net>
Mon, 13 Dec 2004 05:09:55 +0000
(
05:09
+0000)
committer
Brendan O'Dea
<bod@optus.net>
Mon, 13 Dec 2004 05:09:55 +0000
(
05:09
+0000)
cluster.c
patch
|
blob
|
history
diff --git
a/cluster.c
b/cluster.c
index
8295954
..
2a5e6e3
100644
(file)
--- a/
cluster.c
+++ b/
cluster.c
@@
-1,6
+1,6
@@
// L2TPNS Clustering Stuff
// L2TPNS Clustering Stuff
-char const *cvs_id_cluster = "$Id: cluster.c,v 1.2
1 2004-12-09 00:38:44
bodea Exp $";
+char const *cvs_id_cluster = "$Id: cluster.c,v 1.2
2 2004-12-13 05:09:55
bodea Exp $";
#include <stdio.h>
#include <sys/file.h>
#include <stdio.h>
#include <sys/file.h>
@@
-81,7
+81,7
@@
int cluster_init()
struct sockaddr_in interface_addr;
struct ip_mreq mreq;
struct ifreq ifr;
struct sockaddr_in interface_addr;
struct ip_mreq mreq;
struct ifreq ifr;
- int opt
= 0
;
+ int opt;
config->cluster_undefined_sessions = MAXSESSION-1;
config->cluster_undefined_tunnels = MAXTUNNEL-1;
config->cluster_undefined_sessions = MAXSESSION-1;
config->cluster_undefined_tunnels = MAXTUNNEL-1;
@@
-99,6
+99,9
@@
int cluster_init()
addr.sin_addr.s_addr = INADDR_ANY;
setsockopt(cluster_sockfd, SOL_SOCKET, SO_REUSEADDR, &addr, sizeof(addr));
addr.sin_addr.s_addr = INADDR_ANY;
setsockopt(cluster_sockfd, SOL_SOCKET, SO_REUSEADDR, &addr, sizeof(addr));
+ opt = fcntl(cluster_sockfd, F_GETFL, 0);
+ fcntl(cluster_sockfd, F_SETFL, opt | O_NONBLOCK);
+
if (bind(cluster_sockfd, (void *) &addr, sizeof(addr)) < 0)
{
LOG(0, 0, 0, "Failed to bind cluster socket: %s\n", strerror(errno));
if (bind(cluster_sockfd, (void *) &addr, sizeof(addr)) < 0)
{
LOG(0, 0, 0, "Failed to bind cluster socket: %s\n", strerror(errno));
@@
-129,7
+132,7
@@
int cluster_init()
return -1;
}
return -1;
}
- if (setsockopt
(cluster_sockfd, IPPROTO_IP, IP_MULTICAST_IF, &interface_addr, sizeof(interface_addr)) < 0)
+ if (setsockopt(cluster_sockfd, IPPROTO_IP, IP_MULTICAST_IF, &interface_addr, sizeof(interface_addr)) < 0)
{
LOG(0, 0, 0, "Failed to setsockopt (set mcast interface): %s\n", strerror(errno));
return -1;
{
LOG(0, 0, 0, "Failed to setsockopt (set mcast interface): %s\n", strerror(errno));
return -1;