lwip-devel
[Top][All Lists]
Advanced

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

[lwip-devel] [bug #28775] select/event_callback: only check select_cb_li


From: Simon Goldschmidt
Subject: [lwip-devel] [bug #28775] select/event_callback: only check select_cb_list on change
Date: Sat, 30 Jan 2010 15:17:56 +0000
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2) Gecko/20100115 Firefox/3.6

URL:
  <http://savannah.nongnu.org/bugs/?28775>

                 Summary: select/event_callback: only check select_cb_list on
change
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: goldsimon
            Submitted on: Sa 30 Jan 2010 15:17:56 GMT
                Category: sockets
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: CVS Head

    _______________________________________________________

Details:

Currently, every call to API_EVENT/event_callback leads to scanning the
select_cb_list for waiting selects.

I'd change that to only scan the list when there has actually been a change
(i.e. recvevent changes from <=0 to >0 or back, or sendevent/erreven actually
changes).

Together with this test being protected by SYS_LIGHTWEIGHT_PROT only, this
should speed up socket communication as it would reduce the semaphore usage.

This implicates that there is only someone actually waiting if the socket
hasn't had the corresponding event before. Hardening lwip_select() against
that would also be necessary.

Does anyone expect problems with that?




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?28775>

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





reply via email to

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