1*663afb9bSAndroid Build Coastguard Worker /* 2*663afb9bSAndroid Build Coastguard Worker * Copyright (c) 2000-2007 Niels Provos <[email protected]> 3*663afb9bSAndroid Build Coastguard Worker * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson 4*663afb9bSAndroid Build Coastguard Worker * 5*663afb9bSAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*663afb9bSAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*663afb9bSAndroid Build Coastguard Worker * are met: 8*663afb9bSAndroid Build Coastguard Worker * 1. Redistributions of source code must retain the above copyright 9*663afb9bSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 10*663afb9bSAndroid Build Coastguard Worker * 2. Redistributions in binary form must reproduce the above copyright 11*663afb9bSAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in the 12*663afb9bSAndroid Build Coastguard Worker * documentation and/or other materials provided with the distribution. 13*663afb9bSAndroid Build Coastguard Worker * 3. The name of the author may not be used to endorse or promote products 14*663afb9bSAndroid Build Coastguard Worker * derived from this software without specific prior written permission. 15*663afb9bSAndroid Build Coastguard Worker * 16*663afb9bSAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17*663afb9bSAndroid Build Coastguard Worker * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18*663afb9bSAndroid Build Coastguard Worker * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19*663afb9bSAndroid Build Coastguard Worker * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20*663afb9bSAndroid Build Coastguard Worker * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21*663afb9bSAndroid Build Coastguard Worker * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22*663afb9bSAndroid Build Coastguard Worker * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23*663afb9bSAndroid Build Coastguard Worker * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24*663afb9bSAndroid Build Coastguard Worker * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25*663afb9bSAndroid Build Coastguard Worker * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26*663afb9bSAndroid Build Coastguard Worker */ 27*663afb9bSAndroid Build Coastguard Worker #ifndef EPOLLTABLE_INTERNAL_H_INCLUDED_ 28*663afb9bSAndroid Build Coastguard Worker #define EPOLLTABLE_INTERNAL_H_INCLUDED_ 29*663afb9bSAndroid Build Coastguard Worker 30*663afb9bSAndroid Build Coastguard Worker /* 31*663afb9bSAndroid Build Coastguard Worker Here are the values we're masking off to decide what operations to do. 32*663afb9bSAndroid Build Coastguard Worker Note that since EV_READ|EV_WRITE. 33*663afb9bSAndroid Build Coastguard Worker 34*663afb9bSAndroid Build Coastguard Worker Note also that this table is a little sparse, since ADD+DEL is 35*663afb9bSAndroid Build Coastguard Worker nonsensical ("xxx" in the list below.) 36*663afb9bSAndroid Build Coastguard Worker 37*663afb9bSAndroid Build Coastguard Worker Note also that we are shifting old_events by only 5 bits, since 38*663afb9bSAndroid Build Coastguard Worker EV_READ is 2 and EV_WRITE is 4. 39*663afb9bSAndroid Build Coastguard Worker 40*663afb9bSAndroid Build Coastguard Worker The table was auto-generated with a python script, according to this 41*663afb9bSAndroid Build Coastguard Worker pseudocode:[*0] 42*663afb9bSAndroid Build Coastguard Worker 43*663afb9bSAndroid Build Coastguard Worker If either the read or the write change is add+del: 44*663afb9bSAndroid Build Coastguard Worker This is impossible; Set op==-1, events=0. 45*663afb9bSAndroid Build Coastguard Worker Else, if either the read or the write change is add: 46*663afb9bSAndroid Build Coastguard Worker Set events to 0. 47*663afb9bSAndroid Build Coastguard Worker If the read change is add, or 48*663afb9bSAndroid Build Coastguard Worker (the read change is not del, and ev_read is in old_events): 49*663afb9bSAndroid Build Coastguard Worker Add EPOLLIN to events. 50*663afb9bSAndroid Build Coastguard Worker If the write change is add, or 51*663afb9bSAndroid Build Coastguard Worker (the write change is not del, and ev_write is in old_events): 52*663afb9bSAndroid Build Coastguard Worker Add EPOLLOUT to events. 53*663afb9bSAndroid Build Coastguard Worker 54*663afb9bSAndroid Build Coastguard Worker If old_events is set: 55*663afb9bSAndroid Build Coastguard Worker Set op to EPOLL_CTL_MOD [*1,*2] 56*663afb9bSAndroid Build Coastguard Worker Else: 57*663afb9bSAndroid Build Coastguard Worker Set op to EPOLL_CTL_ADD [*3] 58*663afb9bSAndroid Build Coastguard Worker 59*663afb9bSAndroid Build Coastguard Worker Else, if the read or the write change is del: 60*663afb9bSAndroid Build Coastguard Worker Set op to EPOLL_CTL_DEL. 61*663afb9bSAndroid Build Coastguard Worker If the read change is del: 62*663afb9bSAndroid Build Coastguard Worker If the write change is del: 63*663afb9bSAndroid Build Coastguard Worker Set events to EPOLLIN|EPOLLOUT 64*663afb9bSAndroid Build Coastguard Worker Else if ev_write is in old_events: 65*663afb9bSAndroid Build Coastguard Worker Set events to EPOLLOUT 66*663afb9bSAndroid Build Coastguard Worker Set op to EPOLL_CTL_MOD 67*663afb9bSAndroid Build Coastguard Worker Else 68*663afb9bSAndroid Build Coastguard Worker Set events to EPOLLIN 69*663afb9bSAndroid Build Coastguard Worker Else: 70*663afb9bSAndroid Build Coastguard Worker {The write change is del.} 71*663afb9bSAndroid Build Coastguard Worker If ev_read is in old_events: 72*663afb9bSAndroid Build Coastguard Worker Set events to EPOLLIN 73*663afb9bSAndroid Build Coastguard Worker Set op to EPOLL_CTL_MOD 74*663afb9bSAndroid Build Coastguard Worker Else: 75*663afb9bSAndroid Build Coastguard Worker Set the events to EPOLLOUT 76*663afb9bSAndroid Build Coastguard Worker 77*663afb9bSAndroid Build Coastguard Worker Else: 78*663afb9bSAndroid Build Coastguard Worker There is no read or write change; set op to 0 and events to 0. 79*663afb9bSAndroid Build Coastguard Worker 80*663afb9bSAndroid Build Coastguard Worker The logic is a little tricky, since we had no events set on the fd before, 81*663afb9bSAndroid Build Coastguard Worker we need to set op="ADD" and set events=the events we want to add. If we 82*663afb9bSAndroid Build Coastguard Worker had any events set on the fd before, and we want any events to remain on 83*663afb9bSAndroid Build Coastguard Worker the fd, we need to say op="MOD" and set events=the events we want to 84*663afb9bSAndroid Build Coastguard Worker remain. But if we want to delete the last event, we say op="DEL" and 85*663afb9bSAndroid Build Coastguard Worker set events=(any non-null pointer). 86*663afb9bSAndroid Build Coastguard Worker 87*663afb9bSAndroid Build Coastguard Worker [*0] Actually, the Python script has gotten a bit more complicated, to 88*663afb9bSAndroid Build Coastguard Worker support EPOLLRDHUP. 89*663afb9bSAndroid Build Coastguard Worker 90*663afb9bSAndroid Build Coastguard Worker [*1] This MOD is only a guess. MOD might fail with ENOENT if the file was 91*663afb9bSAndroid Build Coastguard Worker closed and a new file was opened with the same fd. If so, we'll retry 92*663afb9bSAndroid Build Coastguard Worker with ADD. 93*663afb9bSAndroid Build Coastguard Worker 94*663afb9bSAndroid Build Coastguard Worker [*2] We can't replace this with a no-op even if old_events is the same as 95*663afb9bSAndroid Build Coastguard Worker the new events: if the file was closed and reopened, we need to retry 96*663afb9bSAndroid Build Coastguard Worker with an ADD. (We do a MOD in this case since "no change" is more 97*663afb9bSAndroid Build Coastguard Worker common than "close and reopen", so we'll usually wind up doing 1 98*663afb9bSAndroid Build Coastguard Worker syscalls instead of 2.) 99*663afb9bSAndroid Build Coastguard Worker 100*663afb9bSAndroid Build Coastguard Worker [*3] This ADD is only a guess. There is a fun Linux kernel issue where if 101*663afb9bSAndroid Build Coastguard Worker you have two fds for the same file (via dup) and you ADD one to an 102*663afb9bSAndroid Build Coastguard Worker epfd, then close it, then re-create it with the same fd (via dup2 or an 103*663afb9bSAndroid Build Coastguard Worker unlucky dup), then try to ADD it again, you'll get an EEXIST, since the 104*663afb9bSAndroid Build Coastguard Worker struct epitem is not actually removed from the struct eventpoll until 105*663afb9bSAndroid Build Coastguard Worker the file itself is closed. 106*663afb9bSAndroid Build Coastguard Worker 107*663afb9bSAndroid Build Coastguard Worker EV_CHANGE_ADD==1 108*663afb9bSAndroid Build Coastguard Worker EV_CHANGE_DEL==2 109*663afb9bSAndroid Build Coastguard Worker EV_READ ==2 110*663afb9bSAndroid Build Coastguard Worker EV_WRITE ==4 111*663afb9bSAndroid Build Coastguard Worker EV_CLOSED ==0x80 112*663afb9bSAndroid Build Coastguard Worker 113*663afb9bSAndroid Build Coastguard Worker Bit 0: close change is add 114*663afb9bSAndroid Build Coastguard Worker Bit 1: close change is del 115*663afb9bSAndroid Build Coastguard Worker Bit 2: read change is add 116*663afb9bSAndroid Build Coastguard Worker Bit 3: read change is del 117*663afb9bSAndroid Build Coastguard Worker Bit 4: write change is add 118*663afb9bSAndroid Build Coastguard Worker Bit 5: write change is del 119*663afb9bSAndroid Build Coastguard Worker Bit 6: old events had EV_READ 120*663afb9bSAndroid Build Coastguard Worker Bit 7: old events had EV_WRITE 121*663afb9bSAndroid Build Coastguard Worker Bit 8: old events had EV_CLOSED 122*663afb9bSAndroid Build Coastguard Worker */ 123*663afb9bSAndroid Build Coastguard Worker 124*663afb9bSAndroid Build Coastguard Worker #define EPOLL_OP_TABLE_INDEX(c) \ 125*663afb9bSAndroid Build Coastguard Worker ( (((c)->close_change&(EV_CHANGE_ADD|EV_CHANGE_DEL))) | \ 126*663afb9bSAndroid Build Coastguard Worker (((c)->read_change&(EV_CHANGE_ADD|EV_CHANGE_DEL)) << 2) | \ 127*663afb9bSAndroid Build Coastguard Worker (((c)->write_change&(EV_CHANGE_ADD|EV_CHANGE_DEL)) << 4) | \ 128*663afb9bSAndroid Build Coastguard Worker (((c)->old_events&(EV_READ|EV_WRITE)) << 5) | \ 129*663afb9bSAndroid Build Coastguard Worker (((c)->old_events&(EV_CLOSED)) << 1) \ 130*663afb9bSAndroid Build Coastguard Worker ) 131*663afb9bSAndroid Build Coastguard Worker 132*663afb9bSAndroid Build Coastguard Worker #if EV_READ != 2 || EV_WRITE != 4 || EV_CLOSED != 0x80 || EV_CHANGE_ADD != 1 || EV_CHANGE_DEL != 2 133*663afb9bSAndroid Build Coastguard Worker #error "Libevent's internals changed! Regenerate the op_table in epolltable-internal.h" 134*663afb9bSAndroid Build Coastguard Worker #endif 135*663afb9bSAndroid Build Coastguard Worker 136*663afb9bSAndroid Build Coastguard Worker static const struct operation { 137*663afb9bSAndroid Build Coastguard Worker int events; 138*663afb9bSAndroid Build Coastguard Worker int op; 139*663afb9bSAndroid Build Coastguard Worker } epoll_op_table[] = { 140*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read: 0, close: 0 */ 141*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 142*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read: 0, close:add */ 143*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_ADD }, 144*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read: 0, close:del */ 145*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_DEL }, 146*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read: 0, close:xxx */ 147*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 148*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:add, close: 0 */ 149*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_ADD }, 150*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:add, close:add */ 151*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_ADD }, 152*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:add, close:del */ 153*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_ADD }, 154*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:add, close:xxx */ 155*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 156*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:del, close: 0 */ 157*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_DEL }, 158*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:del, close:add */ 159*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_ADD }, 160*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:del, close:del */ 161*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL }, 162*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:del, close:xxx */ 163*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 164*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:xxx, close: 0 */ 165*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 166*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:xxx, close:add */ 167*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 168*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:xxx, close:del */ 169*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 170*663afb9bSAndroid Build Coastguard Worker /* old= 0, write: 0, read:xxx, close:xxx */ 171*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 172*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read: 0, close: 0 */ 173*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_ADD }, 174*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read: 0, close:add */ 175*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD }, 176*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read: 0, close:del */ 177*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_ADD }, 178*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read: 0, close:xxx */ 179*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 180*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:add, close: 0 */ 181*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_ADD }, 182*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:add, close:add */ 183*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD }, 184*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:add, close:del */ 185*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_ADD }, 186*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:add, close:xxx */ 187*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 188*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:del, close: 0 */ 189*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_ADD }, 190*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:del, close:add */ 191*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_ADD }, 192*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:del, close:del */ 193*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_ADD }, 194*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:del, close:xxx */ 195*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 196*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:xxx, close: 0 */ 197*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 198*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:xxx, close:add */ 199*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 200*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:xxx, close:del */ 201*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 202*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:add, read:xxx, close:xxx */ 203*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 204*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read: 0, close: 0 */ 205*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_DEL }, 206*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read: 0, close:add */ 207*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_ADD }, 208*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read: 0, close:del */ 209*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 210*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read: 0, close:xxx */ 211*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 212*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:add, close: 0 */ 213*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_ADD }, 214*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:add, close:add */ 215*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_ADD }, 216*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:add, close:del */ 217*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_ADD }, 218*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:add, close:xxx */ 219*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 220*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:del, close: 0 */ 221*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL }, 222*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:del, close:add */ 223*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_ADD }, 224*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:del, close:del */ 225*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 226*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:del, close:xxx */ 227*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 228*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:xxx, close: 0 */ 229*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 230*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:xxx, close:add */ 231*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 232*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:xxx, close:del */ 233*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 234*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:del, read:xxx, close:xxx */ 235*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 236*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read: 0, close: 0 */ 237*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 238*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read: 0, close:add */ 239*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 240*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read: 0, close:del */ 241*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 242*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read: 0, close:xxx */ 243*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 244*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:add, close: 0 */ 245*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 246*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:add, close:add */ 247*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 248*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:add, close:del */ 249*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 250*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:add, close:xxx */ 251*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 252*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:del, close: 0 */ 253*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 254*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:del, close:add */ 255*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 256*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:del, close:del */ 257*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 258*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:del, close:xxx */ 259*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 260*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:xxx, close: 0 */ 261*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 262*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:xxx, close:add */ 263*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 264*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:xxx, close:del */ 265*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 266*663afb9bSAndroid Build Coastguard Worker /* old= 0, write:xxx, read:xxx, close:xxx */ 267*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 268*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read: 0, close: 0 */ 269*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 270*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read: 0, close:add */ 271*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 272*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read: 0, close:del */ 273*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 274*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read: 0, close:xxx */ 275*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 276*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:add, close: 0 */ 277*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 278*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:add, close:add */ 279*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 280*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:add, close:del */ 281*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 282*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:add, close:xxx */ 283*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 284*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:del, close: 0 */ 285*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_DEL }, 286*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:del, close:add */ 287*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 288*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:del, close:del */ 289*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL }, 290*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:del, close:xxx */ 291*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 292*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:xxx, close: 0 */ 293*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 294*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:xxx, close:add */ 295*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 296*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:xxx, close:del */ 297*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 298*663afb9bSAndroid Build Coastguard Worker /* old= r, write: 0, read:xxx, close:xxx */ 299*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 300*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read: 0, close: 0 */ 301*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 302*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read: 0, close:add */ 303*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 304*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read: 0, close:del */ 305*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 306*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read: 0, close:xxx */ 307*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 308*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:add, close: 0 */ 309*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 310*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:add, close:add */ 311*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 312*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:add, close:del */ 313*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 314*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:add, close:xxx */ 315*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 316*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:del, close: 0 */ 317*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 318*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:del, close:add */ 319*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 320*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:del, close:del */ 321*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 322*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:del, close:xxx */ 323*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 324*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:xxx, close: 0 */ 325*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 326*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:xxx, close:add */ 327*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 328*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:xxx, close:del */ 329*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 330*663afb9bSAndroid Build Coastguard Worker /* old= r, write:add, read:xxx, close:xxx */ 331*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 332*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read: 0, close: 0 */ 333*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 334*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read: 0, close:add */ 335*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 336*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read: 0, close:del */ 337*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 338*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read: 0, close:xxx */ 339*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 340*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:add, close: 0 */ 341*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 342*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:add, close:add */ 343*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 344*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:add, close:del */ 345*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 346*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:add, close:xxx */ 347*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 348*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:del, close: 0 */ 349*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL }, 350*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:del, close:add */ 351*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 352*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:del, close:del */ 353*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 354*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:del, close:xxx */ 355*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 356*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:xxx, close: 0 */ 357*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 358*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:xxx, close:add */ 359*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 360*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:xxx, close:del */ 361*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 362*663afb9bSAndroid Build Coastguard Worker /* old= r, write:del, read:xxx, close:xxx */ 363*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 364*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read: 0, close: 0 */ 365*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 366*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read: 0, close:add */ 367*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 368*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read: 0, close:del */ 369*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 370*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read: 0, close:xxx */ 371*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 372*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:add, close: 0 */ 373*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 374*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:add, close:add */ 375*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 376*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:add, close:del */ 377*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 378*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:add, close:xxx */ 379*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 380*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:del, close: 0 */ 381*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 382*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:del, close:add */ 383*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 384*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:del, close:del */ 385*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 386*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:del, close:xxx */ 387*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 388*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:xxx, close: 0 */ 389*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 390*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:xxx, close:add */ 391*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 392*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:xxx, close:del */ 393*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 394*663afb9bSAndroid Build Coastguard Worker /* old= r, write:xxx, read:xxx, close:xxx */ 395*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 396*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read: 0, close: 0 */ 397*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 398*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read: 0, close:add */ 399*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 400*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read: 0, close:del */ 401*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 402*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read: 0, close:xxx */ 403*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 404*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:add, close: 0 */ 405*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 406*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:add, close:add */ 407*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 408*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:add, close:del */ 409*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 410*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:add, close:xxx */ 411*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 412*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:del, close: 0 */ 413*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 414*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:del, close:add */ 415*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 416*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:del, close:del */ 417*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 418*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:del, close:xxx */ 419*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 420*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:xxx, close: 0 */ 421*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 422*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:xxx, close:add */ 423*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 424*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:xxx, close:del */ 425*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 426*663afb9bSAndroid Build Coastguard Worker /* old= w, write: 0, read:xxx, close:xxx */ 427*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 428*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read: 0, close: 0 */ 429*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 430*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read: 0, close:add */ 431*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 432*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read: 0, close:del */ 433*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 434*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read: 0, close:xxx */ 435*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 436*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:add, close: 0 */ 437*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 438*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:add, close:add */ 439*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 440*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:add, close:del */ 441*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 442*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:add, close:xxx */ 443*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 444*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:del, close: 0 */ 445*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 446*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:del, close:add */ 447*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 448*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:del, close:del */ 449*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 450*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:del, close:xxx */ 451*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 452*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:xxx, close: 0 */ 453*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 454*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:xxx, close:add */ 455*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 456*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:xxx, close:del */ 457*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 458*663afb9bSAndroid Build Coastguard Worker /* old= w, write:add, read:xxx, close:xxx */ 459*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 460*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read: 0, close: 0 */ 461*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_DEL }, 462*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read: 0, close:add */ 463*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 464*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read: 0, close:del */ 465*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 466*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read: 0, close:xxx */ 467*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 468*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:add, close: 0 */ 469*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 470*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:add, close:add */ 471*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 472*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:add, close:del */ 473*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 474*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:add, close:xxx */ 475*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 476*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:del, close: 0 */ 477*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL }, 478*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:del, close:add */ 479*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 480*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:del, close:del */ 481*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 482*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:del, close:xxx */ 483*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 484*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:xxx, close: 0 */ 485*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 486*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:xxx, close:add */ 487*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 488*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:xxx, close:del */ 489*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 490*663afb9bSAndroid Build Coastguard Worker /* old= w, write:del, read:xxx, close:xxx */ 491*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 492*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read: 0, close: 0 */ 493*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 494*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read: 0, close:add */ 495*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 496*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read: 0, close:del */ 497*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 498*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read: 0, close:xxx */ 499*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 500*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:add, close: 0 */ 501*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 502*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:add, close:add */ 503*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 504*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:add, close:del */ 505*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 506*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:add, close:xxx */ 507*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 508*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:del, close: 0 */ 509*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 510*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:del, close:add */ 511*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 512*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:del, close:del */ 513*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 514*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:del, close:xxx */ 515*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 516*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:xxx, close: 0 */ 517*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 518*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:xxx, close:add */ 519*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 520*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:xxx, close:del */ 521*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 522*663afb9bSAndroid Build Coastguard Worker /* old= w, write:xxx, read:xxx, close:xxx */ 523*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 524*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read: 0, close: 0 */ 525*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 526*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read: 0, close:add */ 527*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 528*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read: 0, close:del */ 529*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 530*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read: 0, close:xxx */ 531*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 532*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:add, close: 0 */ 533*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 534*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:add, close:add */ 535*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 536*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:add, close:del */ 537*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 538*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:add, close:xxx */ 539*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 540*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:del, close: 0 */ 541*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 542*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:del, close:add */ 543*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 544*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:del, close:del */ 545*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 546*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:del, close:xxx */ 547*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 548*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:xxx, close: 0 */ 549*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 550*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:xxx, close:add */ 551*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 552*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:xxx, close:del */ 553*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 554*663afb9bSAndroid Build Coastguard Worker /* old= rw, write: 0, read:xxx, close:xxx */ 555*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 556*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read: 0, close: 0 */ 557*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 558*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read: 0, close:add */ 559*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 560*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read: 0, close:del */ 561*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 562*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read: 0, close:xxx */ 563*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 564*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:add, close: 0 */ 565*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 566*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:add, close:add */ 567*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 568*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:add, close:del */ 569*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 570*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:add, close:xxx */ 571*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 572*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:del, close: 0 */ 573*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 574*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:del, close:add */ 575*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 576*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:del, close:del */ 577*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 578*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:del, close:xxx */ 579*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 580*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:xxx, close: 0 */ 581*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 582*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:xxx, close:add */ 583*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 584*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:xxx, close:del */ 585*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 586*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:add, read:xxx, close:xxx */ 587*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 588*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read: 0, close: 0 */ 589*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 590*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read: 0, close:add */ 591*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 592*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read: 0, close:del */ 593*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 594*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read: 0, close:xxx */ 595*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 596*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:add, close: 0 */ 597*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 598*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:add, close:add */ 599*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 600*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:add, close:del */ 601*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 602*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:add, close:xxx */ 603*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 604*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:del, close: 0 */ 605*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_DEL }, 606*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:del, close:add */ 607*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 608*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:del, close:del */ 609*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 610*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:del, close:xxx */ 611*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 612*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:xxx, close: 0 */ 613*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 614*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:xxx, close:add */ 615*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 616*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:xxx, close:del */ 617*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 618*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:del, read:xxx, close:xxx */ 619*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 620*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read: 0, close: 0 */ 621*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 622*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read: 0, close:add */ 623*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 624*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read: 0, close:del */ 625*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 626*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read: 0, close:xxx */ 627*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 628*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:add, close: 0 */ 629*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 630*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:add, close:add */ 631*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 632*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:add, close:del */ 633*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 634*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:add, close:xxx */ 635*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 636*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:del, close: 0 */ 637*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 638*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:del, close:add */ 639*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 640*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:del, close:del */ 641*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 642*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:del, close:xxx */ 643*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 644*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:xxx, close: 0 */ 645*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 646*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:xxx, close:add */ 647*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 648*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:xxx, close:del */ 649*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 650*663afb9bSAndroid Build Coastguard Worker /* old= rw, write:xxx, read:xxx, close:xxx */ 651*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 652*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read: 0, close: 0 */ 653*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 654*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read: 0, close:add */ 655*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 656*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read: 0, close:del */ 657*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_DEL }, 658*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read: 0, close:xxx */ 659*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 660*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:add, close: 0 */ 661*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 662*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:add, close:add */ 663*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 664*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:add, close:del */ 665*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 666*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:add, close:xxx */ 667*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 668*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:del, close: 0 */ 669*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 670*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:del, close:add */ 671*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 672*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:del, close:del */ 673*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL }, 674*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:del, close:xxx */ 675*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 676*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:xxx, close: 0 */ 677*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 678*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:xxx, close:add */ 679*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 680*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:xxx, close:del */ 681*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 682*663afb9bSAndroid Build Coastguard Worker /* old= c, write: 0, read:xxx, close:xxx */ 683*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 684*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read: 0, close: 0 */ 685*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 686*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read: 0, close:add */ 687*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 688*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read: 0, close:del */ 689*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 690*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read: 0, close:xxx */ 691*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 692*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:add, close: 0 */ 693*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 694*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:add, close:add */ 695*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 696*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:add, close:del */ 697*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 698*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:add, close:xxx */ 699*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 700*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:del, close: 0 */ 701*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 702*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:del, close:add */ 703*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 704*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:del, close:del */ 705*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 706*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:del, close:xxx */ 707*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 708*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:xxx, close: 0 */ 709*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 710*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:xxx, close:add */ 711*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 712*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:xxx, close:del */ 713*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 714*663afb9bSAndroid Build Coastguard Worker /* old= c, write:add, read:xxx, close:xxx */ 715*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 716*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read: 0, close: 0 */ 717*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 718*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read: 0, close:add */ 719*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 720*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read: 0, close:del */ 721*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 722*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read: 0, close:xxx */ 723*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 724*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:add, close: 0 */ 725*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 726*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:add, close:add */ 727*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 728*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:add, close:del */ 729*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 730*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:add, close:xxx */ 731*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 732*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:del, close: 0 */ 733*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 734*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:del, close:add */ 735*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 736*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:del, close:del */ 737*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 738*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:del, close:xxx */ 739*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 740*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:xxx, close: 0 */ 741*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 742*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:xxx, close:add */ 743*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 744*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:xxx, close:del */ 745*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 746*663afb9bSAndroid Build Coastguard Worker /* old= c, write:del, read:xxx, close:xxx */ 747*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 748*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read: 0, close: 0 */ 749*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 750*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read: 0, close:add */ 751*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 752*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read: 0, close:del */ 753*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 754*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read: 0, close:xxx */ 755*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 756*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:add, close: 0 */ 757*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 758*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:add, close:add */ 759*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 760*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:add, close:del */ 761*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 762*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:add, close:xxx */ 763*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 764*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:del, close: 0 */ 765*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 766*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:del, close:add */ 767*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 768*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:del, close:del */ 769*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 770*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:del, close:xxx */ 771*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 772*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:xxx, close: 0 */ 773*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 774*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:xxx, close:add */ 775*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 776*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:xxx, close:del */ 777*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 778*663afb9bSAndroid Build Coastguard Worker /* old= c, write:xxx, read:xxx, close:xxx */ 779*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 780*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read: 0, close: 0 */ 781*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 782*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read: 0, close:add */ 783*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 784*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read: 0, close:del */ 785*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 786*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read: 0, close:xxx */ 787*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 788*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:add, close: 0 */ 789*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 790*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:add, close:add */ 791*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 792*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:add, close:del */ 793*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 794*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:add, close:xxx */ 795*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 796*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:del, close: 0 */ 797*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 798*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:del, close:add */ 799*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 800*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:del, close:del */ 801*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_DEL }, 802*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:del, close:xxx */ 803*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 804*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:xxx, close: 0 */ 805*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 806*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:xxx, close:add */ 807*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 808*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:xxx, close:del */ 809*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 810*663afb9bSAndroid Build Coastguard Worker /* old= cr, write: 0, read:xxx, close:xxx */ 811*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 812*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read: 0, close: 0 */ 813*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 814*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read: 0, close:add */ 815*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 816*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read: 0, close:del */ 817*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 818*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read: 0, close:xxx */ 819*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 820*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:add, close: 0 */ 821*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 822*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:add, close:add */ 823*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 824*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:add, close:del */ 825*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 826*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:add, close:xxx */ 827*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 828*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:del, close: 0 */ 829*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 830*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:del, close:add */ 831*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 832*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:del, close:del */ 833*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 834*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:del, close:xxx */ 835*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 836*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:xxx, close: 0 */ 837*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 838*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:xxx, close:add */ 839*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 840*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:xxx, close:del */ 841*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 842*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:add, read:xxx, close:xxx */ 843*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 844*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read: 0, close: 0 */ 845*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 846*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read: 0, close:add */ 847*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 848*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read: 0, close:del */ 849*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 850*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read: 0, close:xxx */ 851*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 852*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:add, close: 0 */ 853*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 854*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:add, close:add */ 855*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 856*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:add, close:del */ 857*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 858*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:add, close:xxx */ 859*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 860*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:del, close: 0 */ 861*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 862*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:del, close:add */ 863*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 864*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:del, close:del */ 865*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 866*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:del, close:xxx */ 867*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 868*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:xxx, close: 0 */ 869*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 870*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:xxx, close:add */ 871*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 872*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:xxx, close:del */ 873*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 874*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:del, read:xxx, close:xxx */ 875*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 876*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read: 0, close: 0 */ 877*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 878*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read: 0, close:add */ 879*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 880*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read: 0, close:del */ 881*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 882*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read: 0, close:xxx */ 883*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 884*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:add, close: 0 */ 885*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 886*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:add, close:add */ 887*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 888*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:add, close:del */ 889*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 890*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:add, close:xxx */ 891*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 892*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:del, close: 0 */ 893*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 894*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:del, close:add */ 895*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 896*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:del, close:del */ 897*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 898*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:del, close:xxx */ 899*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 900*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:xxx, close: 0 */ 901*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 902*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:xxx, close:add */ 903*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 904*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:xxx, close:del */ 905*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 906*663afb9bSAndroid Build Coastguard Worker /* old= cr, write:xxx, read:xxx, close:xxx */ 907*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 908*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read: 0, close: 0 */ 909*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 910*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read: 0, close:add */ 911*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 912*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read: 0, close:del */ 913*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 914*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read: 0, close:xxx */ 915*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 916*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:add, close: 0 */ 917*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 918*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:add, close:add */ 919*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 920*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:add, close:del */ 921*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 922*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:add, close:xxx */ 923*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 924*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:del, close: 0 */ 925*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 926*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:del, close:add */ 927*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 928*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:del, close:del */ 929*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 930*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:del, close:xxx */ 931*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 932*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:xxx, close: 0 */ 933*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 934*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:xxx, close:add */ 935*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 936*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:xxx, close:del */ 937*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 938*663afb9bSAndroid Build Coastguard Worker /* old= cw, write: 0, read:xxx, close:xxx */ 939*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 940*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read: 0, close: 0 */ 941*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 942*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read: 0, close:add */ 943*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 944*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read: 0, close:del */ 945*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 946*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read: 0, close:xxx */ 947*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 948*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:add, close: 0 */ 949*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 950*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:add, close:add */ 951*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 952*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:add, close:del */ 953*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 954*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:add, close:xxx */ 955*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 956*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:del, close: 0 */ 957*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 958*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:del, close:add */ 959*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 960*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:del, close:del */ 961*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 962*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:del, close:xxx */ 963*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 964*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:xxx, close: 0 */ 965*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 966*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:xxx, close:add */ 967*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 968*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:xxx, close:del */ 969*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 970*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:add, read:xxx, close:xxx */ 971*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 972*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read: 0, close: 0 */ 973*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 974*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read: 0, close:add */ 975*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 976*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read: 0, close:del */ 977*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 978*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read: 0, close:xxx */ 979*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 980*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:add, close: 0 */ 981*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 982*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:add, close:add */ 983*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 984*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:add, close:del */ 985*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 986*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:add, close:xxx */ 987*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 988*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:del, close: 0 */ 989*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 990*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:del, close:add */ 991*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 992*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:del, close:del */ 993*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 994*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:del, close:xxx */ 995*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 996*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:xxx, close: 0 */ 997*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 998*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:xxx, close:add */ 999*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1000*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:xxx, close:del */ 1001*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1002*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:del, read:xxx, close:xxx */ 1003*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1004*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read: 0, close: 0 */ 1005*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1006*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read: 0, close:add */ 1007*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1008*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read: 0, close:del */ 1009*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1010*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read: 0, close:xxx */ 1011*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1012*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:add, close: 0 */ 1013*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1014*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:add, close:add */ 1015*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1016*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:add, close:del */ 1017*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1018*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:add, close:xxx */ 1019*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1020*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:del, close: 0 */ 1021*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1022*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:del, close:add */ 1023*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1024*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:del, close:del */ 1025*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1026*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:del, close:xxx */ 1027*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1028*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:xxx, close: 0 */ 1029*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1030*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:xxx, close:add */ 1031*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1032*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:xxx, close:del */ 1033*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1034*663afb9bSAndroid Build Coastguard Worker /* old= cw, write:xxx, read:xxx, close:xxx */ 1035*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1036*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read: 0, close: 0 */ 1037*663afb9bSAndroid Build Coastguard Worker { 0, 0 }, 1038*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read: 0, close:add */ 1039*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1040*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read: 0, close:del */ 1041*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 1042*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read: 0, close:xxx */ 1043*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1044*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:add, close: 0 */ 1045*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1046*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:add, close:add */ 1047*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1048*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:add, close:del */ 1049*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 1050*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:add, close:xxx */ 1051*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1052*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:del, close: 0 */ 1053*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1054*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:del, close:add */ 1055*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1056*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:del, close:del */ 1057*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 1058*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:del, close:xxx */ 1059*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1060*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:xxx, close: 0 */ 1061*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1062*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:xxx, close:add */ 1063*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1064*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:xxx, close:del */ 1065*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1066*663afb9bSAndroid Build Coastguard Worker /* old=crw, write: 0, read:xxx, close:xxx */ 1067*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1068*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read: 0, close: 0 */ 1069*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1070*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read: 0, close:add */ 1071*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1072*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read: 0, close:del */ 1073*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 1074*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read: 0, close:xxx */ 1075*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1076*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:add, close: 0 */ 1077*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1078*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:add, close:add */ 1079*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1080*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:add, close:del */ 1081*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT, EPOLL_CTL_MOD }, 1082*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:add, close:xxx */ 1083*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1084*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:del, close: 0 */ 1085*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1086*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:del, close:add */ 1087*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_MOD }, 1088*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:del, close:del */ 1089*663afb9bSAndroid Build Coastguard Worker { EPOLLOUT, EPOLL_CTL_MOD }, 1090*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:del, close:xxx */ 1091*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1092*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:xxx, close: 0 */ 1093*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1094*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:xxx, close:add */ 1095*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1096*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:xxx, close:del */ 1097*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1098*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:add, read:xxx, close:xxx */ 1099*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1100*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read: 0, close: 0 */ 1101*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 1102*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read: 0, close:add */ 1103*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 1104*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read: 0, close:del */ 1105*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 1106*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read: 0, close:xxx */ 1107*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1108*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:add, close: 0 */ 1109*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 1110*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:add, close:add */ 1111*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLRDHUP, EPOLL_CTL_MOD }, 1112*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:add, close:del */ 1113*663afb9bSAndroid Build Coastguard Worker { EPOLLIN, EPOLL_CTL_MOD }, 1114*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:add, close:xxx */ 1115*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1116*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:del, close: 0 */ 1117*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 1118*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:del, close:add */ 1119*663afb9bSAndroid Build Coastguard Worker { EPOLLRDHUP, EPOLL_CTL_MOD }, 1120*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:del, close:del */ 1121*663afb9bSAndroid Build Coastguard Worker { EPOLLIN|EPOLLOUT|EPOLLRDHUP, EPOLL_CTL_DEL }, 1122*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:del, close:xxx */ 1123*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1124*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:xxx, close: 0 */ 1125*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1126*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:xxx, close:add */ 1127*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1128*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:xxx, close:del */ 1129*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1130*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:del, read:xxx, close:xxx */ 1131*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1132*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read: 0, close: 0 */ 1133*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1134*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read: 0, close:add */ 1135*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1136*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read: 0, close:del */ 1137*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1138*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read: 0, close:xxx */ 1139*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1140*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:add, close: 0 */ 1141*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1142*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:add, close:add */ 1143*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1144*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:add, close:del */ 1145*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1146*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:add, close:xxx */ 1147*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1148*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:del, close: 0 */ 1149*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1150*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:del, close:add */ 1151*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1152*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:del, close:del */ 1153*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1154*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:del, close:xxx */ 1155*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1156*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:xxx, close: 0 */ 1157*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1158*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:xxx, close:add */ 1159*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1160*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:xxx, close:del */ 1161*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1162*663afb9bSAndroid Build Coastguard Worker /* old=crw, write:xxx, read:xxx, close:xxx */ 1163*663afb9bSAndroid Build Coastguard Worker { 0, 255 }, 1164*663afb9bSAndroid Build Coastguard Worker }; 1165*663afb9bSAndroid Build Coastguard Worker 1166*663afb9bSAndroid Build Coastguard Worker #endif 1167