1. 03 May, 2012 2 commits
  2. 02 May, 2012 1 commit
  3. 01 May, 2012 3 commits
  4. 16 Apr, 2012 4 commits
  5. 14 Apr, 2012 4 commits
  6. 13 Apr, 2012 7 commits
  7. 12 Apr, 2012 5 commits
    • Sam Rushing's avatar
      docstrings · 1b7f2617
      Sam Rushing authored
      1b7f2617
    • Hasan Alayli's avatar
      rename register_event to hint that it's private and get read of wait_for_read... · 11372151
      Hasan Alayli authored
      rename register_event to hint that it's private and get read of wait_for_read & wait_for_write as they are duplicate and not used anywhere
      11372151
    • Hasan Alayli's avatar
      Fixing linux poller. · e07c1412
      Hasan Alayli authored
      In short: epoll royally sucks.
      
      The longer version: epoll doesn't allow 2 separate events to be
      maintained per fd. If we register an fd for read, and then decide
      to register it for write too, the later will overwrite the original
      registered read event unless we register READ|WRITE. It seems
      harmless but it's not. When we register for READ|WRITE and only
      a READ event arrives, we first receive the READ event, and in the
      next epoll_wait if a READ + WRITE event occurs we'll receive READ|WRITE
      because the original registered event is READ|WRITE. What this means
      is that we received READ twice here, once as READ and the second
      time when a WRITE & READ occured, READ|WRITE. We were not expecting
      the second READ event and w'ell have to ignore it.
      
      This behavior happens because we are not passing EPOLLONESHOT. The
      reason we don't want to do this is that the EPOLLONESHOT will get applied
      to both events (read + write) when we only need it for one. Ex: If we
      register for a READ event, followed by registering WRITE event
      READ|WRITE|EPOLLONESHOT this will mean if either of the READ or WRITE
      event occurs it will be EPOLLONESHOT and the second event will need
      to be registered. I certainly don't want to track such events and
      reregister them. Hence I am going with the first solution
      by not use EPOLLONESHOT and ignore events I am not expecting.
      
      If only epoll supports fd+event as a key rather than fd only.
      e07c1412
    • Hasan Alayli's avatar
      fixing linux poller · 7657af63
      Hasan Alayli authored
      7657af63
    • Hasan Alayli's avatar
      65577cc3
  8. 30 Mar, 2012 6 commits
  9. 28 Mar, 2012 4 commits
  10. 27 Mar, 2012 4 commits