>>> "Goldschmidt Simon" <[EMAIL PROTECTED]>
>>     netif_add(&nif, &ipaddr, &netmask, &gw, NULL, ethernetif_init,
> ip_input);  
> 
> ip_input must not be used directly in multithreading environments.
> Because the core is not locked, it mustn't be accessed from multiple
> threads. Use tcpip_input() (or tcpip_ethinput() for new CVS code)
> instead. That makes sure RX frames are processed in tcpip_thread
> context, not in the context of the RX thread (or even interrupt
> context).

OK. Thanks. I changed it but it didn't solve my problem.

>>     netif_set_default(&nif);
>>     netif_set_up(&nif);
>> 
>> Anything missing?
> 
> Doesn't seem so.

I stepped a little bit around now. The semaphore causing the problem is created 
inside the accept_function() in api_msg.c line 242:

newconn->sem = sys_sem_new(0);

It is then signaled in sent_tcp() in api_msg.c line 159. But I can't find the 
file where this (connection specific) semaphore is ever waited on. So it gets 
signaled and signaled and signaled....

Matthias



_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to