Show
Ignore:
Timestamp:
07/17/11 03:04:34 (10 months ago)
Author:
D J Capelis <dev@…>
Parents:
434f758431a198683e1276f61d2c5f8edd7cdc01
git-committer:
D J Capelis <dev@capelis.dj> / 2011-07-17T03:04:34Z-0700
Message:

Fix broken epoll->kqueue compat shim, make error handling more useful

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • compat/epoll.c

    r434f758 r5185894  
    5151 
    5252err: 
     53    perror("In epoll_create() compat code"); 
    5354    return -1; 
    5455} 
     
    6263    // Set up kevent structure 
    6364    struct kevent64_s kev; 
    64     struct timespec ts; 
    6565    switch(op) 
    6666    { 
    6767        case EV_DELETE: 
    68         //case EPOLL_CTL_MOD: 
     68            error_chk(event == NULL) 
    6969            EV_SET64(&kev, fd, EPOLLIN, op, 0, 0, 0, 0, 0); 
    70             error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, &ts) == -1); 
     70            error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, NULL) == -1); 
    7171            EV_SET64(&kev, fd, EPOLLOUT, op, 0, 0, 0, 0, 0); 
    72             error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, &ts) == -1); 
    73             if(op == EPOLL_CTL_DEL) 
    74                 break; 
     72            error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, NULL) == -1); 
     73            break; 
    7574        case EV_ADD: 
    7675            error_chk(event == NULL) 
    7776            EV_SET64(&kev, fd, event->events, op, 0, 0, 0, 0, 0); 
    78             error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, &ts) == -1); 
     77            error_chk(kevent64(kq, &kev, 1, NULL, 0, 0, NULL) == -1); 
     78            break; 
    7979    } 
    8080 
     
    8282 
    8383err: 
     84    perror("In epoll_ctl() compat code"); 
    8485    return -1; 
    8586} 
     
    124125 
    125126err: 
     127    perror("In epoll_wait() compat code"); 
    126128    return -1; 
    127129}