summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/libnetworking/ChangeLog8
-rw-r--r--cpukit/libnetworking/rtems/rtems_glue.c3
2 files changed, 10 insertions, 1 deletions
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 <eric.norum@usask.ca>
+
+ * 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 <joel@OARcorp.com>
* libc/getservent.c: Per PR265, add #include <netinet/in.h> 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 ();
}
}