summaryrefslogtreecommitdiff
path: root/devel/py-event/files/patch-event.pyx
blob: a08ea048c03eb281cf0005d356201facb238214e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--- event.pyx.orig	2005-09-12 03:44:04 UTC
+++ event.pyx
@@ -62,9 +62,6 @@ EV_PERSIST = 0x10
 
 __event_exc = None
 
-cdef int __event_sigcb():
-    return -1
-
 cdef void __event_handler(int fd, short evtype, void *arg):
     (<object>arg).__callback(evtype)
 
@@ -109,8 +106,6 @@ cdef class event:
             event_set(&self.ev, handle, evtype, handler, <void *>self)
 
     def __simple_callback(self, short evtype):
-        cdef extern int event_gotsig
-        cdef extern int (*event_sigcb)()
         global __event_exc
         try:
             if self.callback(*self.args) != None:
@@ -120,23 +115,17 @@ cdef class event:
                     event_add(&self.ev, NULL)
         except:
             __event_exc = sys.exc_info()
-            event_sigcb = __event_sigcb
-            event_gotsig = 1
         # XXX - account for event.signal() EV_PERSIST
         if not (evtype & EV_SIGNAL) and \
            not event_pending(&self.ev, EV_READ|EV_WRITE|EV_SIGNAL|EV_TIMEOUT, NULL):
             Py_DECREF(self)
     
     def __callback(self, short evtype):
-        cdef extern int event_gotsig
-        cdef extern int (*event_sigcb)()
         global __event_exc
         try:
             self.callback(self, self.handle, evtype, self.args)
         except:
             __event_exc = sys.exc_info()
-            event_sigcb = __event_sigcb
-            event_gotsig = 1
         if not event_pending(&self.ev, EV_READ|EV_WRITE|EV_SIGNAL|EV_TIMEOUT, NULL):
             Py_DECREF(self)
 
@@ -153,7 +142,7 @@ cdef class event:
         self.timeout = timeout
         if timeout >= 0.0:
             self.tv.tv_sec = <long>timeout
-            self.tv.tv_usec = (timeout - <float>self.tv.tv_sec) * 1000000.0
+            self.tv.tv_usec = <long>(timeout - <float>self.tv.tv_sec) * 1000000
             event_add(&self.ev, &self.tv)
         else:
             self.tv.tv_sec = self.tv.tv_usec = 0
@@ -271,10 +260,6 @@ def loop(nonblock=False):
 
 def abort():
     """Abort event dispatch loop."""
-    cdef extern int event_gotsig
-    cdef extern int (*event_sigcb)()
-    event_sigcb = __event_sigcb
-    event_gotsig = 1
 
 # XXX - make sure event queue is always initialized.
 init()