From af773b88f6ac6c71e34f49c5a4a7ca97814250d6 Mon Sep 17 00:00:00 2001 From: lemoer Date: Sat, 10 Sep 2016 03:38:47 +0200 Subject: [PATCH] respondd: serve_request does not depend on request schedule any longer --- net/respondd/src/respondd.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/net/respondd/src/respondd.c b/net/respondd/src/respondd.c index b4e8691..dcf2d63 100644 --- a/net/respondd/src/respondd.c +++ b/net/respondd/src/respondd.c @@ -504,12 +504,7 @@ void send_response(int sock, struct json_object *result, bool compress, json_object_put(result); } -void serve_request(struct request_schedule *schedule, int sock) { - struct request_task* task = schedule_pop_request(schedule); - - if (!task) - return; - +void serve_request(struct request_task *task, int sock) { bool compress; struct json_object *result = handle_request(task->request, &compress); @@ -522,8 +517,6 @@ void serve_request(struct request_schedule *schedule, int sock) { compress, &task->client_addr ); - - free(task); } int main(int argc, char **argv) { @@ -621,7 +614,14 @@ int main(int argc, char **argv) { while (true) { accept_request(&schedule, sock, max_multicast_delay); - serve_request(&schedule, sock); + + struct request_task* task = schedule_pop_request(&schedule); + + if (!task) + continue; + + serve_request(task, sock); + free(task); } return EXIT_FAILURE;