]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Faster detail file reader.
authorAlan T. DeKok <aland@freeradius.org>
Wed, 8 Feb 2012 14:28:17 +0000 (15:28 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 8 Feb 2012 14:28:17 +0000 (15:28 +0100)
If "delay = 0", go read another packet immediately.

src/main/process.c

index 074189dd6aff81d9a6c0cbbb3e10f8f2f5b2f658..ebb2e8f091d444d44cde22677647e8290eb8a670 100644 (file)
@@ -3307,6 +3307,7 @@ static void event_poll_detail(void *ctx)
 
        rad_assert(this->type == RAD_LISTEN_DETAIL);
 
+ redo:
        event_socket_handler(el, this->fd, this);
 
        fr_event_now(el, &now);
@@ -3317,6 +3318,8 @@ static void event_poll_detail(void *ctx)
         *      time.
         */
        delay = this->encode(this, NULL);
+       if (delay == 0) goto redo;
+
        tv_add(&when, delay);
 
        if (!fr_event_insert(el, event_poll_detail, this,