| 363 | } |
| 364 | |
| 365 | static void process_curl_messages(void) |
| 366 | { |
| 367 | int num_messages; |
| 368 | struct active_request_slot *slot; |
| 369 | CURLMsg *curl_message = curl_multi_info_read(curlm, &num_messages); |
| 370 | |
| 371 | while (curl_message != NULL) { |
| 372 | if (curl_message->msg == CURLMSG_DONE) { |
| 373 | int curl_result = curl_message->data.result; |
| 374 | slot = active_queue_head; |
| 375 | while (slot != NULL && |
| 376 | slot->curl != curl_message->easy_handle) |
| 377 | slot = slot->next; |
| 378 | if (slot) { |
| 379 | xmulti_remove_handle(slot); |
| 380 | slot->curl_result = curl_result; |
| 381 | finish_active_slot(slot); |
| 382 | } else { |
| 383 | fprintf(stderr, "Received DONE message for unknown request!\n"); |
| 384 | } |
| 385 | } else { |
| 386 | fprintf(stderr, "Unknown CURL message received: %d\n", |
| 387 | (int)curl_message->msg); |
| 388 | } |
| 389 | curl_message = curl_multi_info_read(curlm, &num_messages); |
| 390 | } |
| 391 | } |
| 392 | |
| 393 | static int http_options(const char *var, const char *value, |
| 394 | const struct config_context *ctx, void *data) |
no test coverage detected