Don't assume mini_event loop
Willem Toorop
8 years ago
2391 | 2391 | context->extension->vmt->run_once(context->extension, 0); |
2392 | 2392 | |
2393 | 2393 | /* TODO: Remove this when next_timeout is gone */ |
2394 | _getdns_handle_timeouts(context->mini_event.base, | |
2395 | &context->mini_event.time_tv, next_timeout ? next_timeout : &dispose); | |
2394 | if (context->extension == &context->mini_event.loop) | |
2395 | _getdns_handle_timeouts(context->mini_event.base, | |
2396 | &context->mini_event.time_tv, | |
2397 | next_timeout ? next_timeout : &dispose); | |
2396 | 2398 | |
2397 | 2399 | return context->outbound_requests.count; |
2398 | 2400 | } |
2417 | 2419 | void |
2418 | 2420 | getdns_context_run(getdns_context *context) |
2419 | 2421 | { |
2420 | if (getdns_context_get_num_pending_requests(context, NULL) > 0 && | |
2421 | !getdns_context_process_async(context)) | |
2422 | if (context->extension == &context->mini_event.loop) { | |
2423 | if (getdns_context_get_num_pending_requests(context, NULL) > 0 && | |
2424 | !getdns_context_process_async(context)) | |
2425 | context->extension->vmt->run(context->extension); | |
2426 | } | |
2427 | else | |
2422 | 2428 | context->extension->vmt->run(context->extension); |
2423 | 2429 | } |
2424 | 2430 |