Remove the "completed" signal from Process and return an InProgress object instead on start(). Since an InProgress object is a Signal the only difference for current code is that you can only register after start and need to reregister on each start. There is no problem with short running processes, the signal won't be called before the next main loop iteration, enough time to register. The good think about this is that you can use this InProgress object in async functions using yield_execution. It also makes the interface look similar to code already using InProgress. As a next step I will use InProgress for Threads. Since InProgress objects contain a second Signal for exceptions, this would make the interface simpler.
Remove the "completed" signal from Process and return an InProgress
object instead on start(). Since an InProgress object is a Signal
the only difference for current code is that you can only register
after start and need to reregister on each start. There is no problem
with short running processes, the signal won't be called before the
next main loop iteration, enough time to register.
The good think about this is that you can use this InProgress object
in async functions using yield_execution. It also makes the interface
look similar to code already using InProgress.
As a next step I will use InProgress for Threads. Since InProgress
objects contain a second Signal for exceptions, this would make the
interface simpler.


git-svn-id: 9d763a2146cc7918956fa045a5de4b112f309167@2486 a8f5125c-1e01-0410-8897-facf34644b8e

freevo/kaa-base,freevo/kaa-base