This PR adds some more integration tests and fixes some bugs with nested task dependencies. In essence, if a task was created with a dependency on another task that had already completed (which, unless you are carrying dependencies through taskwaits, can only happen if both tasks are themselves spawned from a task), then the threads will starve and deadlock. This is now fixed.
This PR adds some more integration tests and fixes some bugs with nested task dependencies. In essence, if a task was created with a dependency on another task that had already completed (which, unless you are carrying dependencies through taskwaits, can only happen if both tasks are themselves spawned from a task), then the threads will starve and deadlock. This is now fixed.