Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import kaboom
- import stackless
- from kaboom import *
- # This implements the C++ interface that was wrapped for Python.
- # The wrapper is called first, which gets the override for ReceiveExplosion.
- # In there is code to ensure we have the GIL, and to release it afterwards.
- # We're setting a stop variable kind of like I originally was doing in the more
- # complicated code. I have found it doesn't actually matter, but should work
- # when all is done.
- class PoorGuy(ITimeBombCallback):
- def __init__(self, stop_var):
- ITimeBombCallback.__init__(self) # Very important for subclasses in Boost.Python
- self.stop_var = stop_var
- def ReceiveExplosion(self):
- print "Got explosion"
- self.stop_var = True
- stop_var = False
- poorGuy = PoorGuy(stop_var)
- bomb = TimeBomb(poorGuy)
- bomb.Go()
- # Busy loop
- while not stop_var:
- stackless.schedule()
- bomb.Join()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement