This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]