Lines Matching refs:g

120 static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)  in multi_timer_cb()  argument
123 ev_timer_stop(g->loop, &g->timer_event); in multi_timer_cb()
127 ev_timer_init(&g->timer_event, timer_cb, t, 0.); in multi_timer_cb()
128 ev_timer_start(g->loop, &g->timer_event); in multi_timer_cb()
174 static void check_multi_info(GlobalInfo *g) in check_multi_info() argument
183 fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running); in check_multi_info()
184 while((msg = curl_multi_info_read(g->multi, &msgs_left))) { in check_multi_info()
191 curl_multi_remove_handle(g->multi, easy); in check_multi_info()
205 GlobalInfo *g = (GlobalInfo*) w->data; in event_cb() local
210 rc = curl_multi_socket_action(g->multi, w->fd, action, &g->still_running); in event_cb()
212 check_multi_info(g); in event_cb()
213 if(g->still_running <= 0) { in event_cb()
215 ev_timer_stop(g->loop, &g->timer_event); in event_cb()
224 GlobalInfo *g = (GlobalInfo *)w->data; in timer_cb() local
227 rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, in timer_cb()
228 &g->still_running); in timer_cb()
230 check_multi_info(g); in timer_cb()
234 static void remsock(SockInfo *f, GlobalInfo *g) in remsock() argument
239 ev_io_stop(g->loop, &f->ev); in remsock()
248 GlobalInfo *g) in setsock() argument
259 ev_io_stop(g->loop, &f->ev); in setsock()
261 f->ev.data = g; in setsock()
263 ev_io_start(g->loop, &f->ev); in setsock()
269 static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) in addsock() argument
273 fdp->global = g; in addsock()
274 setsock(fdp, s, easy, action, g); in addsock()
275 curl_multi_assign(g->multi, s, fdp); in addsock()
284 GlobalInfo *g = (GlobalInfo*) cbp; in sock_cb() local
292 remsock(fdp, g); in sock_cb()
297 addsock(s, e, what, g); in sock_cb()
303 setsock(fdp, s, e, what, g); in sock_cb()
335 static void new_conn(char *url, GlobalInfo *g) in new_conn() argument
348 conn->global = g; in new_conn()
363 "Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url); in new_conn()
364 rc = curl_multi_add_handle(g->multi, conn->easy); in new_conn()
377 GlobalInfo *g = (GlobalInfo *)w->data; in fifo_cb() local
381 rv = fscanf(g->input, "%1023s%n", s, &n); in fifo_cb()
384 new_conn(s, g); /* if we read a URL, go get it! */ in fifo_cb()
392 static int init_fifo(GlobalInfo *g) in init_fifo() argument
416 g->input = fdopen(sockfd, "r"); in init_fifo()
419 ev_io_init(&g->fifo_event, fifo_cb, sockfd, EV_READ); in init_fifo()
420 ev_io_start(g->loop, &g->fifo_event); in init_fifo()
426 GlobalInfo g; in main() local
430 memset(&g, 0, sizeof(GlobalInfo)); in main()
431 g.loop = ev_default_loop(0); in main()
433 init_fifo(&g); in main()
434 g.multi = curl_multi_init(); in main()
436 ev_timer_init(&g.timer_event, timer_cb, 0., 0.); in main()
437 g.timer_event.data = &g; in main()
438 g.fifo_event.data = &g; in main()
439 curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb); in main()
440 curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g); in main()
441 curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb); in main()
442 curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g); in main()
447 ev_loop(g.loop, 0); in main()
448 curl_multi_cleanup(g.multi); in main()