lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [task #7490] Add return value to sys_mbox_post


From: Simon Goldschmidt
Subject: [lwip-devel] [task #7490] Add return value to sys_mbox_post
Date: Mon, 26 Nov 2007 19:33:19 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9

Follow-up Comment #9, task #7490 (project lwip):

I've put together the places where sys_mbox_post is used:

- multiple places in api_msg.c: conn->mbox (used like semaphore -> we could
convert it to a semaphore!) should not block, since tcpip_thread would be
blocked

- recv_raw(), recv_udp(), recv_tcp(): conn->recvmbox: may not block since
tcpip_thread would be blocked
- err_tcp(), accept_function(): conn->acceptmbox: may not block since
tcpip_thread would be blocked

- tcpip_input(): post work to tcpip_thread may not block since maybe called
from interrupt

tcpip_callback(), tcpip_timeout(), tcpip_apimsg(), tcpip_netifapi(): post
work to tcpip_thread (may wait since called from application thread?)

So in fact those are 6 places where sys_mbox_post may not block and 4 where
it may block (if we convert conn->mbox to a sem). I think those 6 places don't
make the code that big... And we would gain a lot of safety, in my opinion...

We would need a flag (block or don't block) and a return value for that. Or
we only take the return value and never block...


Jonathan, Kieran, what is your opinion about this?

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7490>

_______________________________________________
  Nachricht geschickt von/durch Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]