~ubuntu-branches/ubuntu/precise/libpgm/precise

« back to all changes in this revision

Viewing changes to openpgm/pgm/.svn/text-base/socket.c.c89.patch.svn-base

  • Committer: Bazaar Package Importer
  • Author(s): Gabriel de Perthuis
  • Date: 2011-04-07 16:48:52 UTC
  • Revision ID: james.westby@ubuntu.com-20110407164852-8uamem42ojeptj6l
Tags: upstream-5.1.116~dfsg
ImportĀ upstreamĀ versionĀ 5.1.116~dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--- socket.c    2011-03-23 13:28:36.000000000 +0800
 
2
+++ socket.c89.c        2011-03-23 13:50:07.000000000 +0800
 
3
@@ -377,7 +377,9 @@
 
4
        new_sock->adv_mode      = 0;    /* advance with time */
 
5
 
 
6
 /* PGMCC */
 
7
+#pragma warning( disable : 4244 )
 
8
        new_sock->acker_nla.ss_family = family;
 
9
+#pragma warning( default : 4244 )
 
10
 
 
11
 /* source-side */
 
12
        pgm_mutex_init (&new_sock->source_mutex);
 
13
@@ -472,6 +474,7 @@
 
14
 /* Stevens: "SO_REUSEADDR has datatype int."
 
15
  */
 
16
                pgm_trace (PGM_LOG_ROLE_NETWORK,_("Set socket sharing."));
 
17
+               {
 
18
                const int v = 1;
 
19
 #ifndef SO_REUSEPORT
 
20
                if (SOCKET_ERROR == setsockopt (new_sock->recv_sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&v, sizeof(v)) ||
 
21
@@ -502,10 +505,12 @@
 
22
                        goto err_destroy;
 
23
                }
 
24
 #endif
 
25
+               }
 
26
 
 
27
 /* request extra packet information to determine destination address on each packet */
 
28
 #ifndef CONFIG_TARGET_WINE
 
29
                pgm_trace (PGM_LOG_ROLE_NETWORK,_("Request socket packet-info."));
 
30
+               {
 
31
                const sa_family_t recv_family = new_sock->family;
 
32
                if (SOCKET_ERROR == pgm_sockaddr_pktinfo (new_sock->recv_sock, recv_family, TRUE))
 
33
                {
 
34
@@ -518,6 +523,7 @@
 
35
                                       pgm_sock_strerror_s (errbuf, sizeof (errbuf), save_errno));
 
36
                        goto err_destroy;
 
37
                }
 
38
+               }
 
39
 #endif
 
40
        }
 
41
        else
 
42
@@ -774,8 +780,11 @@
 
43
                {
 
44
                        int*restrict intervals = (int*restrict)optval;
 
45
                        *optlen = sock->spm_heartbeat_len;
 
46
-                       for (unsigned i = 0; i < sock->spm_heartbeat_len; i++)
 
47
+                       {
 
48
+                       unsigned i;
 
49
+                       for (i = 0; i < sock->spm_heartbeat_len; i++)
 
50
                                intervals[i] = sock->spm_heartbeat_interval[i + 1];
 
51
+                       }
 
52
                }
 
53
                status = TRUE;
 
54
                break;
 
55
@@ -1209,8 +1218,11 @@
 
56
                        sock->spm_heartbeat_len = optlen / sizeof (int);
 
57
                        sock->spm_heartbeat_interval = pgm_new (unsigned, sock->spm_heartbeat_len + 1);
 
58
                        sock->spm_heartbeat_interval[0] = 0;
 
59
-                       for (unsigned i = 0; i < sock->spm_heartbeat_len; i++)
 
60
+                       {
 
61
+                       unsigned i;
 
62
+                       for (i = 0; i < sock->spm_heartbeat_len; i++)
 
63
                                sock->spm_heartbeat_interval[i + 1] = ((const int*)optval)[i];
 
64
+                       }
 
65
                }
 
66
                status = TRUE;
 
67
                break;
 
68
@@ -1455,6 +1467,7 @@
 
69
                                break;
 
70
                        if (PGM_UNLIKELY(fecinfo->group_size > fecinfo->block_size))
 
71
                                break;
 
72
+                       {
 
73
                        const uint8_t parity_packets = fecinfo->block_size - fecinfo->group_size;
 
74
 /* technically could re-send previous packets */
 
75
                        if (PGM_UNLIKELY(fecinfo->proactive_packets > parity_packets))
 
76
@@ -1471,6 +1484,7 @@
 
77
                        sock->rs_n                      = fecinfo->block_size;
 
78
                        sock->rs_k                      = fecinfo->group_size;
 
79
                        sock->rs_proactive_h            = fecinfo->proactive_packets;
 
80
+                       }
 
81
                }
 
82
                status = TRUE;
 
83
                break;
 
84
@@ -1594,7 +1608,9 @@
 
85
                {
 
86
                        const struct group_req* gr = optval;
 
87
 /* verify not duplicate group/interface pairing */
 
88
-                       for (unsigned i = 0; i < sock->recv_gsr_len; i++)
 
89
+                       {
 
90
+                       unsigned i;
 
91
+                       for (i = 0; i < sock->recv_gsr_len; i++)
 
92
                        {
 
93
                                if (pgm_sockaddr_cmp ((const struct sockaddr*)&gr->gr_group, (struct sockaddr*)&sock->recv_gsr[i].gsr_group)  == 0 &&
 
94
                                    pgm_sockaddr_cmp ((const struct sockaddr*)&gr->gr_group, (struct sockaddr*)&sock->recv_gsr[i].gsr_source) == 0 &&
 
95
@@ -1613,6 +1629,7 @@
 
96
                                        break;
 
97
                                }
 
98
                        }
 
99
+                       }
 
100
                        if (PGM_UNLIKELY(sock->family != gr->gr_group.ss_family))
 
101
                                break;
 
102
                        sock->recv_gsr[sock->recv_gsr_len].gsr_interface = gr->gr_interface;
 
103
@@ -1644,7 +1661,9 @@
 
104
                        break;
 
105
                {
 
106
                        const struct group_req* gr = optval;
 
107
-                       for (unsigned i = 0; i < sock->recv_gsr_len;)
 
108
+                       {
 
109
+                       unsigned i;
 
110
+                       for (i = 0; i < sock->recv_gsr_len;)
 
111
                        {
 
112
                                if ((pgm_sockaddr_cmp ((const struct sockaddr*)&gr->gr_group, (struct sockaddr*)&sock->recv_gsr[i].gsr_group) == 0) &&
 
113
 /* drop all matching receiver entries */
 
114
@@ -1661,6 +1680,7 @@
 
115
                                }
 
116
                                i++;
 
117
                        }
 
118
+                       }
 
119
                        if (PGM_UNLIKELY(sock->family != gr->gr_group.ss_family))
 
120
                                break;
 
121
                        if (SOCKET_ERROR == pgm_sockaddr_leave_group (sock->recv_sock, sock->family, gr))
 
122
@@ -1719,7 +1739,9 @@
 
123
                {
 
124
                        const struct group_source_req* gsr = optval;
 
125
 /* verify if existing group/interface pairing */
 
126
-                       for (unsigned i = 0; i < sock->recv_gsr_len; i++)
 
127
+                       {
 
128
+                       unsigned i;
 
129
+                       for (i = 0; i < sock->recv_gsr_len; i++)
 
130
                        {
 
131
                                if (pgm_sockaddr_cmp ((const struct sockaddr*)&gsr->gsr_group, (struct sockaddr*)&sock->recv_gsr[i].gsr_group) == 0 &&
 
132
                                        (gsr->gsr_interface == sock->recv_gsr[i].gsr_interface ||
 
133
@@ -1744,6 +1766,7 @@
 
134
                                        break;
 
135
                                }
 
136
                        }
 
137
+                       }
 
138
                        if (PGM_UNLIKELY(sock->family != gsr->gsr_group.ss_family))
 
139
                                break;
 
140
                        if (PGM_UNLIKELY(sock->family != gsr->gsr_source.ss_family))
 
141
@@ -1766,7 +1789,9 @@
 
142
                {
 
143
                        const struct group_source_req* gsr = optval;
 
144
 /* verify if existing group/interface pairing */
 
145
-                       for (unsigned i = 0; i < sock->recv_gsr_len; i++)
 
146
+                       {
 
147
+                       unsigned i;
 
148
+                       for (i = 0; i < sock->recv_gsr_len; i++)
 
149
                        {
 
150
                                if (pgm_sockaddr_cmp ((const struct sockaddr*)&gsr->gsr_group, (struct sockaddr*)&sock->recv_gsr[i].gsr_group)   == 0 &&
 
151
                                    pgm_sockaddr_cmp ((const struct sockaddr*)&gsr->gsr_source, (struct sockaddr*)&sock->recv_gsr[i].gsr_source) == 0 &&
 
152
@@ -1780,6 +1805,7 @@
 
153
                                        }
 
154
                                }
 
155
                        }
 
156
+                       }
 
157
                        if (PGM_UNLIKELY(sock->family != gsr->gsr_group.ss_family))
 
158
                                break;
 
159
                        if (PGM_UNLIKELY(sock->family != gsr->gsr_source.ss_family))
 
160
@@ -2083,17 +2109,19 @@
 
161
 
 
162
 /* determine IP header size for rate regulation engine & stats */
 
163
        sock->iphdr_len = (AF_INET == sock->family) ? sizeof(struct pgm_ip) : sizeof(struct pgm_ip6_hdr);
 
164
-       pgm_trace (PGM_LOG_ROLE_NETWORK,"Assuming IP header size of %" PRIzu " bytes", sock->iphdr_len);
 
165
+       pgm_trace (PGM_LOG_ROLE_NETWORK,"Assuming IP header size of %" PRIzu " bytes", (unsigned long)sock->iphdr_len);
 
166
 
 
167
        if (sock->udp_encap_ucast_port) {
 
168
                const size_t udphdr_len = sizeof(struct pgm_udphdr);
 
169
-               pgm_trace (PGM_LOG_ROLE_NETWORK,"Assuming UDP header size of %" PRIzu " bytes", udphdr_len);
 
170
+               pgm_trace (PGM_LOG_ROLE_NETWORK,"Assuming UDP header size of %" PRIzu " bytes", (unsigned long)udphdr_len);
 
171
                sock->iphdr_len += udphdr_len;
 
172
        }
 
173
 
 
174
+       {
 
175
        const sa_family_t pgmcc_family = sock->use_pgmcc ? sock->family : 0;
 
176
        sock->max_tsdu = (uint16_t)(sock->max_tpdu - sock->iphdr_len - pgm_pkt_offset (FALSE, pgmcc_family));
 
177
        sock->max_tsdu_fragment = (uint16_t)(sock->max_tpdu - sock->iphdr_len - pgm_pkt_offset (TRUE, pgmcc_family));
 
178
+       {
 
179
        const unsigned max_fragments = sock->txw_sqns ? MIN( PGM_MAX_FRAGMENTS, sock->txw_sqns ) : PGM_MAX_FRAGMENTS;
 
180
        sock->max_apdu = MIN( PGM_MAX_APDU, max_fragments * sock->max_tsdu_fragment );
 
181
 
 
182
@@ -2139,6 +2167,7 @@
 
183
  */
 
184
 /* TODO: different ports requires a new bound socket */
 
185
 
 
186
+       {
 
187
        union {
 
188
                struct sockaddr         sa;
 
189
                struct sockaddr_in      s4;
 
190
@@ -2307,6 +2336,7 @@
 
191
 
 
192
 /* save send side address for broadcasting as source nla */
 
193
        memcpy (&sock->send_addr, &send_addr, pgm_sockaddr_len ((struct sockaddr*)&send_addr));
 
194
+       }
 
195
 
 
196
 /* rx to nak processor notify channel */
 
197
        if (sock->can_send_data)
 
198
@@ -2314,7 +2344,7 @@
 
199
 /* setup rate control */
 
200
                if (sock->txw_max_rte > 0) {
 
201
                        pgm_trace (PGM_LOG_ROLE_RATE_CONTROL,_("Setting rate regulation to %" PRIzd " bytes per second."),
 
202
-                                       sock->txw_max_rte);
 
203
+                                       (long)sock->txw_max_rte);
 
204
                        pgm_rate_create (&sock->rate_control, sock->txw_max_rte, sock->iphdr_len, sock->max_tpdu);
 
205
                        sock->is_controlled_spm   = TRUE;       /* must always be set */
 
206
                } else
 
207
@@ -2322,13 +2352,13 @@
 
208
 
 
209
                if (sock->odata_max_rte > 0) {
 
210
                        pgm_trace (PGM_LOG_ROLE_RATE_CONTROL,_("Setting ODATA rate regulation to %" PRIzd " bytes per second."),
 
211
-                                       sock->odata_max_rte);
 
212
+                                       (long)sock->odata_max_rte);
 
213
                        pgm_rate_create (&sock->odata_rate_control, sock->odata_max_rte, sock->iphdr_len, sock->max_tpdu);
 
214
                        sock->is_controlled_odata = TRUE;
 
215
                }
 
216
                if (sock->rdata_max_rte > 0) {
 
217
                        pgm_trace (PGM_LOG_ROLE_RATE_CONTROL,_("Setting RDATA rate regulation to %" PRIzd " bytes per second."),
 
218
-                                       sock->rdata_max_rte);
 
219
+                                       (long)sock->rdata_max_rte);
 
220
                        pgm_rate_create (&sock->rdata_rate_control, sock->rdata_max_rte, sock->iphdr_len, sock->max_tpdu);
 
221
                        sock->is_controlled_rdata = TRUE;
 
222
                }
 
223
@@ -2344,6 +2374,8 @@
 
224
        pgm_rwlock_writer_unlock (&sock->lock);
 
225
        pgm_debug ("PGM socket successfully bound.");
 
226
        return TRUE;
 
227
+       }
 
228
+       }
 
229
 }
 
230
 
 
231
 bool
 
232
@@ -2357,11 +2389,14 @@
 
233
 #ifdef CONFIG_TARGET_WINE
 
234
        pgm_return_val_if_fail (sock->recv_gsr_len == 1, FALSE);
 
235
 #endif
 
236
-       for (unsigned i = 0; i < sock->recv_gsr_len; i++)
 
237
+       {
 
238
+       unsigned i;
 
239
+       for (i = 0; i < sock->recv_gsr_len; i++)
 
240
        {
 
241
                pgm_return_val_if_fail (sock->recv_gsr[i].gsr_group.ss_family == sock->recv_gsr[0].gsr_group.ss_family, FALSE);
 
242
                pgm_return_val_if_fail (sock->recv_gsr[i].gsr_group.ss_family == sock->recv_gsr[i].gsr_source.ss_family, FALSE);
 
243
        }
 
244
+       }
 
245
        pgm_return_val_if_fail (sock->send_gsr.gsr_group.ss_family == sock->recv_gsr[0].gsr_group.ss_family, FALSE);
 
246
 /* shutdown */
 
247
        if (PGM_UNLIKELY(!pgm_rwlock_writer_trylock (&sock->lock)))
 
248
@@ -2470,6 +2505,7 @@
 
249
                return SOCKET_ERROR;
 
250
        }
 
251
 
 
252
+       {
 
253
        const bool is_congested = (sock->use_pgmcc && sock->tokens < pgm_fp8 (1)) ? TRUE : FALSE;
 
254
 
 
255
        if (readfds)
 
256
@@ -2498,6 +2534,7 @@
 
257
 #endif
 
258
                        }
 
259
                }
 
260
+               {
 
261
                const SOCKET pending_fd = pgm_notify_get_socket (&sock->pending_notify);
 
262
                FD_SET(pending_fd, readfds);
 
263
 #ifndef _WIN32
 
264
@@ -2505,6 +2542,7 @@
 
265
 #else
 
266
                fds++;
 
267
 #endif
 
268
+               }
 
269
        }
 
270
 
 
271
        if (sock->can_send_data && writefds && !is_congested)
 
272
@@ -2522,6 +2560,7 @@
 
273
 #else
 
274
        return *n_fds + fds;
 
275
 #endif
 
276
+       }
 
277
 }
 
278
 
 
279
 #if defined(CONFIG_HAVE_POLL) || defined(CONFIG_HAVE_WSAPOLL)