Changeset f920aec8f7779dc67b4ea347d8da0384b27627b4

Show
Ignore:
Timestamp:
06/05/08 03:09:36 (7 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1212635376 +0000
git-parent:

[1431d991f15fe5e02906e85dc4721a1a99f2eeb1]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1212635376 +0000
Message:

race condition

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/eventer/eventer_epoll_impl.c

    re435c5b rf920aec  
    280280        fd = ev->data.fd; 
    281281        e = master_fds[fd].e; 
     282        /* It's possible that someone removed the event and freed it 
     283         * before we got here. 
     284         */ 
     285        if(!e) continue; 
     286 
    282287 
    283288        lockstate = acquire_master_fd(fd); 
  • src/eventer/eventer_kqueue_impl.c

    re435c5b rf920aec  
    366366        e = (eventer_t)ke->udata; 
    367367        fd = ke->ident; 
     368        /* If we've seen this fd, don't callback twice */ 
    368369        if(!masks[fd]) continue; 
    369         assert(e == master_fds[fd].e); 
     370        /* It's possible that someone removed the event and freed it 
     371         * before we got here. 
     372         */ 
     373        if(e != master_fds[fd].e) continue; 
    370374        lockstate = acquire_master_fd(fd); 
    371375        assert(lockstate == EV_OWNED);