mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
fix the fdevents module
This commit is contained in:
parent
67866f275f
commit
c8f6269f29
@ -4,7 +4,7 @@
|
|||||||
# See the NOTICE for more information.
|
# See the NOTICE for more information.
|
||||||
|
|
||||||
|
|
||||||
""" module implementing Poller depending on the platform. A pollster
|
""" A module implementing Poller depending on the platform. A pollster
|
||||||
allows you to register an fd, and retrieve events on it. """
|
allows you to register an fd, and retrieve events on it. """
|
||||||
|
|
||||||
import select
|
import select
|
||||||
@ -70,8 +70,10 @@ class SelectPoller(PollerBase):
|
|||||||
|
|
||||||
if mode == 'r':
|
if mode == 'r':
|
||||||
self.read_fds[fd] = repeat
|
self.read_fds[fd] = repeat
|
||||||
else:
|
elif mode == 'w':
|
||||||
self.write_fds[fd] = repeat
|
self.write_fds[fd] = repeat
|
||||||
|
else:
|
||||||
|
raise ValueError('unkown mode {0}'.format(mode))
|
||||||
|
|
||||||
def delfd(self, fd, mode):
|
def delfd(self, fd, mode):
|
||||||
if mode == 'r' and fd in self.read_fds:
|
if mode == 'r' and fd in self.read_fds:
|
||||||
@ -87,9 +89,8 @@ class SelectPoller(PollerBase):
|
|||||||
try:
|
try:
|
||||||
r, w, e = select.select(read_fds, write_fds, [], nsec)
|
r, w, e = select.select(read_fds, write_fds, [], nsec)
|
||||||
except select.error as e:
|
except select.error as e:
|
||||||
if e.args[0] == errno.EINTR:
|
if e.args[0] != errno.EINTR:
|
||||||
continue
|
raise
|
||||||
raise
|
|
||||||
|
|
||||||
events = []
|
events = []
|
||||||
for fd in r:
|
for fd in r:
|
||||||
@ -122,7 +123,7 @@ class SelectPoller(PollerBase):
|
|||||||
self.read_fds = []
|
self.read_fds = []
|
||||||
self.write_fds = []
|
self.write_fds = []
|
||||||
|
|
||||||
if hasattr(selec, 'kqueue')
|
if hasattr(select, 'kqueue'):
|
||||||
|
|
||||||
class KQueuePoller(object):
|
class KQueuePoller(object):
|
||||||
|
|
||||||
@ -163,9 +164,8 @@ if hasattr(selec, 'kqueue')
|
|||||||
try:
|
try:
|
||||||
events = self.kq.control(None, 0, nsec)
|
events = self.kq.control(None, 0, nsec)
|
||||||
except select.error as e:
|
except select.error as e:
|
||||||
if e.args[0] == errno.EINTR:
|
if e.args[0] != errno.EINTR:
|
||||||
continue
|
raise
|
||||||
raise
|
|
||||||
|
|
||||||
# process events
|
# process events
|
||||||
all_events = []
|
all_events = []
|
||||||
@ -267,9 +267,8 @@ if hasattr(select, "epoll"):
|
|||||||
try:
|
try:
|
||||||
events = self.poll.poll(nsec)
|
events = self.poll.poll(nsec)
|
||||||
except select.error as e:
|
except select.error as e:
|
||||||
if e.args[0] == errno.EINTR:
|
if e.args[0] != errno.EINTR:
|
||||||
continue
|
raise
|
||||||
raise
|
|
||||||
|
|
||||||
if events:
|
if events:
|
||||||
all_events = []
|
all_events = []
|
||||||
@ -392,9 +391,8 @@ if hasattr(select, "poll") or hasattr(select, "epoll"):
|
|||||||
try:
|
try:
|
||||||
events = self.poll.poll(nsec)
|
events = self.poll.poll(nsec)
|
||||||
except select.error as e:
|
except select.error as e:
|
||||||
if e.args[0] == errno.EINTR:
|
if e.args[0] != errno.EINTR:
|
||||||
continue
|
raise
|
||||||
raise
|
|
||||||
|
|
||||||
all_events = []
|
all_events = []
|
||||||
for fd, ev in events:
|
for fd, ev in events:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user