Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gevent
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gevent
Commits
09b62e90
Commit
09b62e90
authored
Jul 29, 2009
by
Denis Bilenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rename "wait" argument to "block" for kill() and killall()
parent
6a6aa33d
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
29 additions
and
19 deletions
+29
-19
gevent/greenlet.py
gevent/greenlet.py
+6
-6
gevent/proc.py
gevent/proc.py
+6
-6
greentest/greenio_test.py
greentest/greenio_test.py
+2
-2
greentest/test__api.py
greentest/test__api.py
+1
-1
greentest/test__event.py
greentest/test__event.py
+1
-1
greentest/test__proc_procset.py
greentest/test__proc_procset.py
+12
-2
greentest/wsgi_test.py
greentest/wsgi_test.py
+1
-1
No files found.
gevent/greenlet.py
View file @
09b62e90
...
...
@@ -144,13 +144,13 @@ def _kill(greenlet, exception, waiter):
waiter
.
switch
()
def
kill
(
greenlet
,
exception
=
GreenletExit
,
wait
=
False
,
polling_period
=
1
):
def
kill
(
greenlet
,
exception
=
GreenletExit
,
block
=
False
,
polling_period
=
0.2
):
"""Kill greenlet with exception (GreenletExit by default).
Wait for it to die if
wait=T
rue.
Wait for it to die if
block is t
rue.
"""
waiter
=
Waiter
()
core
.
active_event
(
_kill
,
greenlet
,
exception
,
waiter
)
if
wait
:
if
block
:
waiter
.
wait
()
while
not
greenlet
.
dead
:
sleep
(
polling_period
)
...
...
@@ -169,13 +169,13 @@ def _killall(greenlets, exception, waiter):
waiter
.
switch
(
diehards
)
def
killall
(
greenlets
,
exception
=
GreenletExit
,
wait
=
False
,
polling_period
=
1
):
def
killall
(
greenlets
,
exception
=
GreenletExit
,
block
=
False
,
polling_period
=
0.2
):
"""Kill all the greenlets with exception (GreenletExit by default).
Wait for them to die if
wait=T
rue.
Wait for them to die if
block is t
rue.
"""
waiter
=
Waiter
()
core
.
active_event
(
_killall
,
greenlets
,
exception
,
waiter
)
if
wait
:
if
block
:
alive
=
waiter
.
wait
()
while
alive
:
sleep
(
polling_period
)
...
...
gevent/proc.py
View file @
09b62e90
...
...
@@ -589,10 +589,10 @@ class Proc(Source):
throw_args
=
(
ProcExit
,
)
self
.
greenlet
.
throw
(
*
throw_args
)
def
kill
(
self
,
exception
=
ProcExit
,
wait
=
False
):
def
kill
(
self
,
exception
=
ProcExit
,
block
=
False
):
if
not
self
.
dead
:
core
.
active_event
(
self
.
greenlet
.
throw
,
exception
)
if
wait
:
if
block
:
try
:
self
.
wait
()
except
:
...
...
@@ -735,22 +735,22 @@ class ProcSet(object):
while
self
.
procs
:
waitall
(
self
.
procs
,
trap_errors
=
trap_errors
)
def
kill
(
self
,
p
,
exception
=
ProcExit
,
wait
=
False
):
def
kill
(
self
,
p
,
exception
=
ProcExit
,
block
=
False
):
kill
=
p
.
kill
try
:
self
.
procs
.
remove
(
p
)
except
KeyError
:
return
self
.
dying
.
add
(
p
)
return
kill
(
exception
=
exception
,
wait
=
wait
)
return
kill
(
exception
=
exception
,
block
=
block
)
def
killall
(
self
,
exception
=
ProcExit
,
wait
=
False
):
def
killall
(
self
,
exception
=
ProcExit
,
block
=
False
):
while
self
.
procs
or
self
.
dying
:
for
p
in
self
.
procs
:
core
.
active_event
(
p
.
throw
,
exception
)
self
.
dying
.
update
(
self
.
procs
)
self
.
procs
.
clear
()
if
not
wait
:
if
not
block
:
break
if
self
.
dying
:
waitall
(
self
.
dying
,
trap_errors
=
True
)
...
...
greentest/greenio_test.py
View file @
09b62e90
...
...
@@ -65,12 +65,12 @@ class TestGreenIo(TestCase):
server
=
socket
.
tcp_listener
((
'0.0.0.0'
,
0
))
server_greenlet
=
gevent
.
spawn
(
accept_close_early
,
server
)
did_it_work
(
server
)
gevent
.
kill
(
server_greenlet
,
wait
=
True
)
gevent
.
kill
(
server_greenlet
,
block
=
True
)
server
=
socket
.
tcp_listener
((
'0.0.0.0'
,
0
))
server_greenlet
=
gevent
.
spawn
(
accept_close_late
,
server
)
did_it_work
(
server
)
gevent
.
kill
(
server_greenlet
,
wait
=
True
)
gevent
.
kill
(
server_greenlet
,
block
=
True
)
def
test_del_closes_socket
(
self
):
...
...
greentest/test__api.py
View file @
09b62e90
...
...
@@ -41,7 +41,7 @@ class Test(greentest.TestCase):
g
=
gevent
.
spawn
(
test
)
gevent
.
sleep
(
DELAY
/
2
)
assert
state
==
[
'start'
],
state
gevent
.
kill
(
g
,
wait
=
True
)
gevent
.
kill
(
g
,
block
=
True
)
# will not get there, unless switching is explicitly scheduled by kill
assert
state
==
[
'start'
,
'except'
,
'finished'
],
state
...
...
greentest/test__event.py
View file @
09b62e90
...
...
@@ -60,7 +60,7 @@ class TestEvent(greentest.TestCase):
assert
result
is
X
,
'Nobody sent anything to event2 yet it received %r'
%
(
result
,
)
finally
:
t
.
cancel
()
gevent
.
kill
(
g
,
wait
=
True
)
gevent
.
kill
(
g
,
block
=
True
)
if
__name__
==
'__main__'
:
...
...
greentest/test__proc_procset.py
View file @
09b62e90
...
...
@@ -48,7 +48,7 @@ class Test(greentest.TestCase):
s
.
spawn
(
gevent
.
sleep
,
DELAY
*
2
)
assert
len
(
s
)
==
2
,
s
start
=
time
.
time
()
s
.
killall
(
wait
=
True
)
s
.
killall
(
block
=
True
)
assert
not
s
,
s
assert
len
(
s
)
==
0
,
s
delta
=
time
.
time
()
-
start
...
...
@@ -89,7 +89,17 @@ class Test(greentest.TestCase):
assert
u1
.
shot_count
==
1
,
u1
.
shot_count
assert
u2
.
shot_count
==
1
,
u2
.
shot_count
X
=
object
()
assert
X
is
gevent
.
with_timeout
(
DELAY
,
s
.
killall
,
wait
=
True
,
timeout_value
=
X
)
assert
X
is
gevent
.
with_timeout
(
DELAY
,
s
.
killall
,
block
=
True
,
timeout_value
=
X
)
def
test_killall_subclass
(
self
):
p1
=
Proc1
.
spawn
(
lambda
:
1
/
0
)
p2
=
Proc1
.
spawn
(
lambda
:
gevent
.
sleep
(
10
))
s
=
proc
.
ProcSet
([
p1
,
p2
])
s
.
killall
(
block
=
True
)
class
Proc1
(
proc
.
Proc
):
pass
if
__name__
==
'__main__'
:
...
...
greentest/wsgi_test.py
View file @
09b62e90
...
...
@@ -143,7 +143,7 @@ class TestHttpd(TestCase):
socket
.
tcp_listener
((
'0.0.0.0'
,
12346
)),
self
.
site
,
max_size
=
128
,
log
=
self
.
logfile
)
def
tearDown
(
self
):
gevent
.
kill
(
self
.
killer
,
wait
=
True
)
gevent
.
kill
(
self
.
killer
,
block
=
True
)
gevent
.
sleep
(
0
)
# XXX kill should be enough!
def
test_001_server
(
self
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment