summaryrefslogtreecommitdiff
path: root/tests/hub_test_fork.py
blob: f886a96c7e792dfb4304f3449963798235a392be (plain)
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
# no standard tests in this file, ignore
__test__ = False

if __name__ == '__main__':
    import os
    import eventlet
    server = eventlet.listen(('localhost', 12345))
    t = eventlet.Timeout(0.01)
    try:
        new_sock, address = server.accept()
    except eventlet.Timeout as t:
        pass

    pid = os.fork()
    if not pid:
        t = eventlet.Timeout(0.1)
        try:
            new_sock, address = server.accept()
        except eventlet.Timeout as t:
            print("accept blocked")
    else:
        kpid, status = os.wait()
        assert kpid == pid
        assert status == 0
        print("child died ok")