[ECOS] net: splsoftnet - problems

Joerg Troeger jtroeger@nortelnetworks.com
Fri Aug 18 04:01:00 GMT 2000

I have some concerns related to the "splsoftnet()" function of the TCP/IP stack.

1. splsoftnet may block due to cyg_mutex_lock() - but is called in the
   context of the real-time-clock DSR (tcp_fasttimo, tcp_slowtimo).

2. splsoftnet may try to lock a mutex twice!!
   Consider a timer interrupt right after calling "cyg_mutex_loc(&softnet_mutex)"
   and before returning from "cyg_scheduler_lock()" - it est between line #246 and
   #247 of support.c rev. 1.5. 
   The timer interrupt may call tcp_fasttimo, which calls splsoftnet - which tries to
   lock the same mutex once more (this has been seen happen!).

I am quiet not sure how to solve this problems and would be glad if this can be commented!

Jörg Tröger

More information about the Ecos-discuss mailing list