Mercurial > mplayer.hg
comparison udp_sync.c @ 32002:86d37b0e4dbc
Use initializer to avoid leaving struct timeval half-uninitialized.
author | reimar |
---|---|
date | Wed, 08 Sep 2010 18:25:55 +0000 |
parents | 44c3f5637b8f |
children | 30a84c65efa4 |
comparison
equal
deleted
inserted
replaced
32001:44c3f5637b8f | 32002:86d37b0e4dbc |
---|---|
85 int n; | 85 int n; |
86 | 86 |
87 static int done_init_yet = 0; | 87 static int done_init_yet = 0; |
88 static int sockfd; | 88 static int sockfd; |
89 if (!done_init_yet) { | 89 if (!done_init_yet) { |
90 struct timeval tv; | 90 struct timeval tv = { .tv_sec = 30 }; |
91 struct sockaddr_in servaddr = { 0 }; | 91 struct sockaddr_in servaddr = { 0 }; |
92 | 92 |
93 done_init_yet = 1; | 93 done_init_yet = 1; |
94 | 94 |
95 sockfd = socket(AF_INET, SOCK_DGRAM, 0); | 95 sockfd = socket(AF_INET, SOCK_DGRAM, 0); |
97 servaddr.sin_family = AF_INET; | 97 servaddr.sin_family = AF_INET; |
98 servaddr.sin_addr.s_addr = htonl(INADDR_ANY); | 98 servaddr.sin_addr.s_addr = htonl(INADDR_ANY); |
99 servaddr.sin_port = htons(udp_port); | 99 servaddr.sin_port = htons(udp_port); |
100 bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); | 100 bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); |
101 | 101 |
102 tv.tv_sec = 30; | |
103 setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); | 102 setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); |
104 | 103 |
105 } | 104 } |
106 | 105 |
107 set_blocking(sockfd, blocking); | 106 set_blocking(sockfd, blocking); |