4 if ('xxx' in (rc, wc, cc)):
7 if ('add' in (rc, wc, cc)):
9 if rc == 'add' or (rc != 'del' and 'r' in old):
10 events.append("EPOLLIN")
11 if wc == 'add' or (wc != 'del' and 'w' in old):
12 events.append("EPOLLOUT")
13 if cc == 'add' or (cc != 'del' and 'c' in old):
14 events.append("EPOLLRDHUP")
20 return "|".join(events), op
22 if ('del' in (rc, wc, cc)):
28 modevents.append("EPOLLIN")
30 modevents.append("EPOLLOUT")
32 modevents.append("EPOLLRDHUP")
34 for item, event in [(rc,"EPOLLIN"),
38 delevents.append(event)
39 if event in modevents:
40 modevents.remove(event)
43 return "|".join(modevents), "EPOLL_CTL_MOD"
45 return "|".join(delevents), "EPOLL_CTL_DEL"
50 def fmt(op, ev, old, wc, rc, cc):
51 entry = "{ %s, %s },"%(op, ev)
52 print "\t/* old=%3s, write:%3s, read:%3s, close:%3s */\n\t%s" % (
53 old, wc, rc, cc, entry)
56 for old in ('0','r','w','rw','c','cr','cw','crw'):
57 for wc in ('0', 'add', 'del', 'xxx'):
58 for rc in ('0', 'add', 'del', 'xxx'):
59 for cc in ('0', 'add', 'del', 'xxx'):
61 op,ev = get(old,wc,rc,cc)
63 fmt(op, ev, old, wc, rc, cc)