diff --git a/cpukit/libnetworking/ChangeLog b/cpukit/libnetworking/ChangeLog index 1ff9b97737..fb489465af 100644 --- a/cpukit/libnetworking/ChangeLog +++ b/cpukit/libnetworking/ChangeLog @@ -1,3 +1,11 @@ +2002-08-20 Eric Norum + + * rtems/rtems_glue.c: Per PR270, the BSD network code expects that + the value of the number of seconds since boot is non-zero. The + RTEMS network initialization code assures this by waiting for a + second. A more efficient technique is to simply wait until the + number of seconds since boot is non-zero. + 2002-08-09 Joel Sherrill * libc/getservent.c: Per PR265, add #include for diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c index 52c3361366..bc9d182236 100644 --- a/cpukit/libnetworking/rtems/rtems_glue.c +++ b/cpukit/libnetworking/rtems/rtems_glue.c @@ -114,7 +114,8 @@ rtems_bsdnet_malloc (unsigned long size, int type, int flags) printf ("rtems_bsdnet_malloc still waiting.\n"); try = 0; } - rtems_task_wake_after (rtems_bsdnet_ticks_per_second); + while (rtems_bsdnet_seconds_since_boot() == 0) + rtems_task_wake_after(1); rtems_bsdnet_semaphore_obtain (); } }