Skip to content

Commit bc0699f

Browse files
csapuntzbagder
authored andcommitted
examples: add curl_multi_timeout
Make the multi-interface using examples use curl_multi_timeout to properly educate users how to do things.
1 parent 157e6d4 commit bc0699f

File tree

6 files changed

+66
-0
lines changed

6 files changed

+66
-0
lines changed

docs/examples/fopen.c

+11
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ fill_buffer(URL_FILE *file,int want,int waittime)
144144
do
145145
{
146146
int maxfd = -1;
147+
long curl_timeo = -1;
148+
147149
FD_ZERO(&fdread);
148150
FD_ZERO(&fdwrite);
149151
FD_ZERO(&fdexcep);
@@ -152,6 +154,15 @@ fill_buffer(URL_FILE *file,int want,int waittime)
152154
timeout.tv_sec = 60; /* 1 minute */
153155
timeout.tv_usec = 0;
154156

157+
curl_multi_timeout(multi_handle, &curl_timeo);
158+
if(curl_timeo >= 0) {
159+
timeout.tv_sec = curl_timeo / 1000;
160+
if(timeout.tv_sec > 1)
161+
timeout.tv_sec = 1;
162+
else
163+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
164+
}
165+
155166
/* get file descriptors from the transfers */
156167
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
157168

docs/examples/multi-app.c

+11
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ int main(int argc, char **argv)
6868
fd_set fdexcep;
6969
int maxfd = -1;
7070

71+
long curl_timeo = -1;
72+
7173
FD_ZERO(&fdread);
7274
FD_ZERO(&fdwrite);
7375
FD_ZERO(&fdexcep);
@@ -76,6 +78,15 @@ int main(int argc, char **argv)
7678
timeout.tv_sec = 1;
7779
timeout.tv_usec = 0;
7880

81+
curl_multi_timeout(multi_handle, &curl_timeo);
82+
if(curl_timeo >= 0) {
83+
timeout.tv_sec = curl_timeo / 1000;
84+
if(timeout.tv_sec > 1)
85+
timeout.tv_sec = 1;
86+
else
87+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
88+
}
89+
7990
/* get file descriptors from the transfers */
8091
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
8192

docs/examples/multi-debugcallback.c

+11
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ int main(int argc, char **argv)
142142
fd_set fdexcep;
143143
int maxfd = -1;
144144

145+
long curl_timeo = -1;
146+
145147
FD_ZERO(&fdread);
146148
FD_ZERO(&fdwrite);
147149
FD_ZERO(&fdexcep);
@@ -150,6 +152,15 @@ int main(int argc, char **argv)
150152
timeout.tv_sec = 1;
151153
timeout.tv_usec = 0;
152154

155+
curl_multi_timeout(multi_handle, &curl_timeo);
156+
if(curl_timeo >= 0) {
157+
timeout.tv_sec = curl_timeo / 1000;
158+
if(timeout.tv_sec > 1)
159+
timeout.tv_sec = 1;
160+
else
161+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
162+
}
163+
153164
/* get file descriptors from the transfers */
154165
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
155166

docs/examples/multi-double.c

+11
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ int main(int argc, char **argv)
5959
fd_set fdexcep;
6060
int maxfd = -1;
6161

62+
long curl_timeo = -1;
63+
6264
FD_ZERO(&fdread);
6365
FD_ZERO(&fdwrite);
6466
FD_ZERO(&fdexcep);
@@ -67,6 +69,15 @@ int main(int argc, char **argv)
6769
timeout.tv_sec = 1;
6870
timeout.tv_usec = 0;
6971

72+
curl_multi_timeout(multi_handle, &curl_timeo);
73+
if(curl_timeo >= 0) {
74+
timeout.tv_sec = curl_timeo / 1000;
75+
if(timeout.tv_sec > 1)
76+
timeout.tv_sec = 1;
77+
else
78+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
79+
}
80+
7081
/* get file descriptors from the transfers */
7182
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
7283

docs/examples/multi-post.c

+11
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ int main(int argc, char *argv[])
7979
fd_set fdexcep;
8080
int maxfd = -1;
8181

82+
long curl_timeo = -1;
83+
8284
FD_ZERO(&fdread);
8385
FD_ZERO(&fdwrite);
8486
FD_ZERO(&fdexcep);
@@ -87,6 +89,15 @@ int main(int argc, char *argv[])
8789
timeout.tv_sec = 1;
8890
timeout.tv_usec = 0;
8991

92+
curl_multi_timeout(multi_handle, &curl_timeo);
93+
if(curl_timeo >= 0) {
94+
timeout.tv_sec = curl_timeo / 1000;
95+
if(timeout.tv_sec > 1)
96+
timeout.tv_sec = 1;
97+
else
98+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
99+
}
100+
90101
/* get file descriptors from the transfers */
91102
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
92103

docs/examples/multi-single.c

+11
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ int main(int argc, char **argv)
5353
fd_set fdexcep;
5454
int maxfd = -1;
5555

56+
long curl_timeo = -1;
57+
5658
FD_ZERO(&fdread);
5759
FD_ZERO(&fdwrite);
5860
FD_ZERO(&fdexcep);
@@ -61,6 +63,15 @@ int main(int argc, char **argv)
6163
timeout.tv_sec = 1;
6264
timeout.tv_usec = 0;
6365

66+
curl_multi_timeout(multi_handle, &curl_timeo);
67+
if(curl_timeo >= 0) {
68+
timeout.tv_sec = curl_timeo / 1000;
69+
if(timeout.tv_sec > 1)
70+
timeout.tv_sec = 1;
71+
else
72+
timeout.tv_usec = (curl_timeo % 1000) * 1000;
73+
}
74+
6475
/* get file descriptors from the transfers */
6576
curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
6677

0 commit comments

Comments
 (0)