Server IP : 85.214.239.14 / Your IP : 3.143.0.122 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /srv/modoboa/env/lib64/python3.5/site-packages/gevent/tests/ |
Upload File : |
# Make sure that libev child watchers, implicitly installed through the use # of subprocess, do not cause waitpid() to fail to poll for processes. # NOTE: This was only reproducible under python 2. from __future__ import print_function import gevent from gevent import monkey monkey.patch_all() import sys from multiprocessing import Process from subprocess import Popen, PIPE import gevent.testing as greentest def f(sleep_sec): gevent.sleep(sleep_sec) class TestIssue600(greentest.TestCase): __timeout__ = greentest.LARGE_TIMEOUT @greentest.skipOnLibuvOnPyPyOnWin("hangs") def test_invoke(self): # Run a subprocess through Popen to make sure # libev is handling SIGCHLD. This could *probably* be simplified to use # just hub.loop.install_sigchld p = Popen([sys.executable, '-V'], stdout=PIPE, stderr=PIPE) gevent.sleep(0) p.communicate() gevent.sleep(0) def test_process(self): # Launch p = Process(target=f, args=(0.5,)) p.start() with gevent.Timeout(3): # Poll for up to 10 seconds. If the bug exists, # this will timeout because our subprocess should # be long gone by now p.join(10) if __name__ == '__main__': greentest.main()