Print this page
8634 epoll fails to wake on certain edge-triggered conditions
8635 epoll should not emit POLLNVAL
8636 recursive epoll should emit EPOLLRDNORM
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/bpf/net/bpfdesc.h
          +++ new/usr/src/uts/common/io/bpf/net/bpfdesc.h
↓ open down ↓ 141 lines elided ↑ open up ↑
 142  142          uchar_t         bd_promisc;     /* true if listening promiscuously */
 143  143          uchar_t         bd_state;       /* idle, waiting, or timed out */
 144  144          uchar_t         bd_immediate;   /* true to return on packet arrival */
 145  145          int             bd_hdrcmplt;    /* false to fill in src lladdr */
 146  146          int             bd_seesent;     /* true if bpf should see sent pkts */
 147  147          int             bd_async;       /* non-zero if packet reception .. */
 148  148                                          /* .. should generate signal */
 149  149          int             bd_nonblock;    /* non-zero for non-blocking read */
 150  150          pid_t           bd_pgid;        /* process or group id for signal */
 151  151          int             bd_timedout;
 152      -        struct pollhead bd_poll;
 153  152          timeout_id_t    bd_callout;     /* for BPF timeouts with select */
 154  153          pid_t           bd_pid;         /* corresponding PID */
 155  154          void            *bd_sih;        /* soft interrupt handle */
 156  155          /*
 157  156           * Solaris specific bits after this.
 158  157           */
 159  158          kmutex_t        bd_lock;
 160  159          kcondvar_t      bd_wait;
 161  160          uintptr_t       bd_mh;          /* where mac_handle gets put */
 162  161          uintptr_t       bd_mcip;        /* Where mac_client_handle_t gets put */
↓ open down ↓ 66 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX