✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.36
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/hc_python/lib/python3.12/site-packages/greenlet/tests//fail_initialstub_already_started.py
"""
Testing initialstub throwing an already started exception.
"""

import greenlet

a = None
b = None
c = None
main = greenlet.getcurrent()

# If we switch into a dead greenlet,
# we go looking for its parents.
# if a parent is not yet started, we start it.

results = []

def a_run(*args):
    #results.append('A')
    results.append(('Begin A', args))


def c_run():
    results.append('Begin C')
    b.switch('From C')
    results.append('C done')

class A(greenlet.greenlet): pass

class B(greenlet.greenlet):
    doing_it = False
    def __getattribute__(self, name):
        if name == 'run' and not self.doing_it:
            assert greenlet.getcurrent() is c
            self.doing_it = True
            results.append('Switch to b from B.__getattribute__ in '
                           + type(greenlet.getcurrent()).__name__)
            b.switch()
            results.append('B.__getattribute__ back from main in '
                           + type(greenlet.getcurrent()).__name__)
        if name == 'run':
            name = '_B_run'
        return object.__getattribute__(self, name)

    def _B_run(self, *arg):
        results.append(('Begin B', arg))
        results.append('_B_run switching to main')
        main.switch('From B')

class C(greenlet.greenlet):
    pass
a = A(a_run)
b = B(parent=a)
c = C(c_run, b)

# Start a child; while running, it will start B,
# but starting B will ALSO start B.
result = c.switch()
results.append(('main from c', result))

# Switch back to C, which was in the middle of switching
# already. This will throw the ``GreenletStartedWhileInPython``
# exception, which results in parent A getting started (B is finished)
c.switch()

results.append(('A dead?', a.dead, 'B dead?', b.dead, 'C dead?', c.dead))

# A and B should both be dead now.
assert a.dead
assert b.dead
assert not c.dead

result = c.switch()
results.append(('main from c.2', result))
# Now C is dead
assert c.dead

print("RESULTS:", results)


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
11 Jun 2026 5.00 AM
root / root
0755
__pycache__
--
11 Jun 2026 5.00 AM
root / root
0755
__init__.py
9.508 KB
11 Jun 2026 5.00 AM
root / root
0644
_test_extension.c
7.074 KB
11 Jun 2026 5.00 AM
root / root
0644
_test_extension.cpython-312-x86_64-linux-gnu.so
16.922 KB
11 Jun 2026 5.00 AM
root / root
0755
_test_extension_cpp.cpp
6.556 KB
11 Jun 2026 5.00 AM
root / root
0644
_test_extension_cpp.cpython-312-x86_64-linux-gnu.so
57.352 KB
11 Jun 2026 5.00 AM
root / root
0755
fail_clearing_run_switches.py
1.233 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_cpp_exception.py
0.962 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_initialstub_already_started.py
1.915 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_slp_switch.py
0.512 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_switch_three_greenlets.py
0.934 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_switch_three_greenlets2.py
1.255 KB
11 Jun 2026 5.00 AM
root / root
0644
fail_switch_two_greenlets.py
0.798 KB
11 Jun 2026 5.00 AM
root / root
0644
leakcheck.py
12.317 KB
11 Jun 2026 5.00 AM
root / root
0644
test_contextvars.py
9.34 KB
11 Jun 2026 5.00 AM
root / root
0644
test_cpp.py
3.09 KB
11 Jun 2026 5.00 AM
root / root
0644
test_extension_interface.py
4.707 KB
11 Jun 2026 5.00 AM
root / root
0644
test_gc.py
2.854 KB
11 Jun 2026 5.00 AM
root / root
0644
test_generator.py
1.211 KB
11 Jun 2026 5.00 AM
root / root
0644
test_generator_nested.py
3.631 KB
11 Jun 2026 5.00 AM
root / root
0644
test_greenlet.py
49.312 KB
11 Jun 2026 5.00 AM
root / root
0644
test_greenlet_trash.py
8.173 KB
11 Jun 2026 5.00 AM
root / root
0644
test_interpreter_shutdown.py
32.29 KB
11 Jun 2026 5.00 AM
root / root
0644
test_leaks.py
18.791 KB
11 Jun 2026 5.00 AM
root / root
0644
test_stack_saved.py
0.436 KB
11 Jun 2026 5.00 AM
root / root
0644
test_throw.py
3.625 KB
11 Jun 2026 5.00 AM
root / root
0644
test_tracing.py
8.353 KB
11 Jun 2026 5.00 AM
root / root
0644
test_version.py
1.492 KB
11 Jun 2026 5.00 AM
root / root
0644
test_weakref.py
0.862 KB
11 Jun 2026 5.00 AM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF