respondd: remove code dupplication
This commit is contained in:
parent
242cf82f4b
commit
6dd0320b44
|
@ -506,15 +506,16 @@ static void accept_request(struct request_schedule *schedule, int sock,
|
||||||
new_task->request[input_bytes] = 0;
|
new_task->request[input_bytes] = 0;
|
||||||
new_task->client_addr = addr;
|
new_task->client_addr = addr;
|
||||||
|
|
||||||
if (!IN6_IS_ADDR_MULTICAST(&destaddr)) {
|
bool is_scheduled;
|
||||||
// unicast packets are sent directly (delay is ignored)
|
if(IN6_IS_ADDR_MULTICAST(&destaddr))
|
||||||
serve_request(new_task, sock);
|
// scheduling could fail because the schedule is full
|
||||||
free(new_task);
|
is_scheduled = schedule_push_request(schedule, new_task);
|
||||||
return;
|
else
|
||||||
}
|
// unicast packets are always sent directly
|
||||||
|
is_scheduled = false;
|
||||||
|
|
||||||
if (!schedule_push_request(schedule, new_task)) {
|
if (!is_scheduled) {
|
||||||
// we can't schedule, so send the response immediately
|
// reply immediately
|
||||||
serve_request(new_task, sock);
|
serve_request(new_task, sock);
|
||||||
free(new_task);
|
free(new_task);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue