]> git.pld-linux.org Git - packages/python-pyevent.git/blame - libevent-2.1.patch
- fixed building with libevent 2.1
[packages/python-pyevent.git] / libevent-2.1.patch
CommitLineData
4d591ea2
JR
1diff -ur pyevent-0.3/event.pyx pyevent-0.3-libevent-2.1/event.pyx
2--- pyevent-0.3/event.pyx 2017-04-04 19:11:05.337824387 +0200
3+++ pyevent-0.3-libevent-2.1/event.pyx 2017-04-04 19:20:30.738730651 +0200
4@@ -36,9 +36,12 @@
5 unsigned int tv_sec
6 unsigned int tv_usec
7
8+ struct event_callback_t "event_callback":
9+ short evcb_flags
10+
11 struct event_t "event":
12+ event_callback_t ev_evcallback
13 int ev_fd
14- int ev_flags
15 void *ev_arg
16
17 void event_init()
18@@ -52,6 +52,7 @@
19 int event_del(event_t *ev)
20 int event_dispatch()
21 int event_loop(int loop)
22+ int event_loopbreak()
23 int event_pending(event_t *ev, short, timeval *tv)
24
25 int EVLOOP_ONCE
26@@ -65,9 +66,6 @@
27
28 __event_exc = None
29
30-cdef int __event_sigcb():
31- return -1
32-
33 cdef void __event_handler(int fd, short evtype, void *arg):
34 (<object>arg).__callback(evtype)
35
36@@ -112,8 +110,6 @@
37 event_set(&self.ev, handle, evtype, handler, <void *>self)
38
39 def __simple_callback(self, short evtype):
40- cdef extern int event_gotsig
41- cdef extern int (*event_sigcb)()
42 global __event_exc
43 try:
44 if self.callback(*self.args) != None:
45@@ -122,24 +118,20 @@
46 else:
47 event_add(&self.ev, NULL)
48 except:
49+ event_loopbreak()
50 __event_exc = sys.exc_info()
51- event_sigcb = __event_sigcb
52- event_gotsig = 1
53 # XXX - account for event.signal() EV_PERSIST
54 if not (evtype & EV_SIGNAL) and \
55 not event_pending(&self.ev, EV_READ|EV_WRITE|EV_SIGNAL|EV_TIMEOUT, NULL):
56 Py_DECREF(self)
57
58 def __callback(self, short evtype):
59- cdef extern int event_gotsig
60- cdef extern int (*event_sigcb)()
61 global __event_exc
62 try:
63 self.callback(self, self.handle, evtype, self.args)
64 except:
65+ event_loopbreak()
66 __event_exc = sys.exc_info()
67- event_sigcb = __event_sigcb
68- event_gotsig = 1
69 if not event_pending(&self.ev, EV_READ|EV_WRITE|EV_SIGNAL|EV_TIMEOUT, NULL):
70 Py_DECREF(self)
71
72@@ -153,7 +156,7 @@
73 self.timeout = timeout
74 if timeout >= 0.0:
75 self.tv.tv_sec = <long>timeout
76- self.tv.tv_usec = (timeout - <float>self.tv.tv_sec) * 1000000.0
77+ self.tv.tv_usec = <long>((timeout - <float>self.tv.tv_sec) * 1000000.0)
78 event_add(&self.ev, &self.tv)
79 else:
80 self.tv.tv_sec = self.tv.tv_usec = 0
81@@ -174,7 +177,7 @@
82
83 def __repr__(self):
84 return '<event flags=0x%x, handle=%s, callback=%s, arg=%s>' % \
85- (self.ev.ev_flags, self.handle, self.callback, self.args)
86+ (self.ev.ev_evcallback.evcb_flags, self.handle, self.callback, self.args)
87
88 cdef class read(event):
89 """read(handle, callback, *args) -> event object
90@@ -266,10 +266,7 @@
91
92 def abort():
93 """Abort event dispatch loop."""
94- cdef extern int event_gotsig
95- cdef extern int (*event_sigcb)()
96- event_sigcb = __event_sigcb
97- event_gotsig = 1
98+ event_loopbreak()
99
100 # XXX - make sure event queue is always initialized.
101 init()
This page took 0.076806 seconds and 4 git commands to generate.