This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
DHCP and alarms
- From: "Alex Lindeijer" <Alex dot L at 3D-Perception dot com>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Thu, 4 Nov 2010 17:46:25 +0100
- Subject: [ECOS] DHCP and alarms
Hi
In case of switching from static ip to DHCP and plug out/in Ethernet we
call do_dhcp. We see that quite often the following ASSERT:
ASSERT FAIL: <3>[410]cyg_callout_reset() Recorded alarm not in the
future! Starved network thread?
I make sure that no socket is sending data while Ethernet is down and no
IP address is acquired
In addition we some threads that ::cyg_thread_delay at the time of
acquiring DHCP IP address these threads never return from the
cyg_thread_delay() , ie keep on sleeping.
When I comment out in new_lease in dhcp_prot.c
cyg_alarm_initialize( lease->alarm, lease->t1, 0 );
cyg_alarm_enable( lease->alarm );
I never get the assert and the threads return from sleeping.
I see that no_lease , deletes the alarm, before a new is created. So
that should be OK. But in some way the enabling of the alarm cause the
assert and interferes with cyg_delay_thread
Thanks in advance for any hints
Alex Lindeijer | 3D perception AS
Senior System Designer
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss