Age | Commit message (Collapse) | Author |
|
|
|
|
|
bits of the TaskManager.
|
|
-) Removed Assert()
-) Added AAssert(), IAssert(), RAssert(), TAssert() and Failure()
-) Reworked all asserts in the code, and added meaningful messages to them.
-) Changed the way the startup code is generated; BALAU_STARTUP is no longer necessary.
|
|
task manager, and actually implementing it properly.
|
|
to be performed from the task manager.
|
|
differently.
|
|
TaskScheduler.
The idea is that we need to support multiple task managers from multiple threads.
So that revamp means we now should be able to support that, except the TaskScheduler needs to implement a round robin system, to distribute tasks across multiple task managers. But at least, the fundamental redesign to permit this is here.
|
|
exception from a .h file...
|
|
functions.
Switching out libcoro for the native Fibers interface for Win32.
Switching out the asm version for the ucontext version for Linux.
|
|
|
|
|
|
|
|
say it's okay to get a EAgain exception, if the operation is interruptible.
|
|
-) setPreemptible now returns the previous state
-) Events may now not have an owner
-) Events may now have a callback (even though it still needs an owner to get into the ev_loop, for these kind of watchers...)
TODO:
-) think about a way to start a watcher without requireing a Task
-) add a few more things in the Tasks unit tests
|
|
Hence removing a few now unnecessary asserts.
|
|
mechanism to re-arm an event.
|
|
Renamed suspend() to yield().
Fixed a couple of bugs, and reorganized slightly some code.
|
|
|
|
Now "Main" is a Task, among the most important changes. Introduced the notion of Events, and managed a coherent task switch.
Also, renamed a lot of the variables to have a more coherent naming scheme.
|
|
Also fixing a few bugs linked with the printer and TLS.
Removed flto from compilation flags: this actually creates bad code (!)
|
|
Added libcoro submodule.
Also refactored some pieces of code.
|