summaryrefslogtreecommitdiff
path: root/src/ivy.c
diff options
context:
space:
mode:
authorfcolin2000-12-20 16:47:19 +0000
committerfcolin2000-12-20 16:47:19 +0000
commitd47112e5481abb3004811cd0ae6d270c24461d9c (patch)
tree6d7eca5fbd53af0b1614fc9f4045be89db59af59 /src/ivy.c
parent2a5b456e050011846b366062403ae3f9ec45fedb (diff)
downloadivy-c-d47112e5481abb3004811cd0ae6d270c24461d9c.zip
ivy-c-d47112e5481abb3004811cd0ae6d270c24461d9c.tar.gz
ivy-c-d47112e5481abb3004811cd0ae6d270c24461d9c.tar.bz2
ivy-c-d47112e5481abb3004811cd0ae6d270c24461d9c.tar.xz
multicast and glut eventloop support
Diffstat (limited to 'src/ivy.c')
-rw-r--r--src/ivy.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ivy.c b/src/ivy.c
index 7099430..b5651df 100644
--- a/src/ivy.c
+++ b/src/ivy.c
@@ -608,7 +608,7 @@ void IvyStart (const char* bus)
*/
broadcast = SocketBroadcastCreate (SupervisionPort, 0, BroadcastReceive );
-
+
/* then, if we only have a port number, resort to default value for network */
if (p == q)
p = DefaultIvyBus;
@@ -636,6 +636,10 @@ void IvyStart (const char* bus)
/* addresses are terminated by a comma or end of string */
} else {
printf ("Broadcasting on network %lx, port %d\n", mask, SupervisionPort);
+ // test mask value agaisnt CLASS D
+ if ( IN_MULTICAST( mask ) )
+ SocketAddMember (broadcast , mask );
+
SocketSendBroadcast (broadcast, mask, SupervisionPort, "%d %hu\n", VERSION, ApplicationPort);
numelem = 0;
mask = 0xffffffff;