Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-08-05 | Greatly simplifying the LuaYield mechanism so to avoid double-recursive ↵ | Nicolas Noble | |
calls in resume(). | |||
2013-08-05 | It makes much more sense to throw TaskSwitch here instead of EAgain. The ↵ | Nicolas "Pixel" Noble | |
only case you'd want EAgain is when an operation is yielding. | |||
2013-08-05 | Relaxing the simple context rules a bit. | Nicolas "Pixel" Noble | |
2013-08-02 | Heavily revamped the C-to-Lua yielding mechanism. Now more generic. | Nicolas Noble | |
2013-08-02 | Refining a bit more the Future class. | Nicolas Noble | |
2013-08-02 | Introducing the concept of Future. | Nicolas "Pixel" Noble | |
2013-08-02 | Adding the SimpleContext class that switches the current Task from complex ↵ | Nicolas "Pixel" Noble | |
to simple. | |||
2013-08-01 | Slightly more robust yield() call. | Nicolas Noble | |
2013-08-01 | I'm surprised this worked so far. The yield / EAgain mechanism was pretty ↵ | Nicolas Noble | |
much broken when using stackless operations. | |||
2013-01-22 | Another pass of cruft cleaning. | Pixel | |
2013-01-22 | Removing some more cruft. | Pixel | |
2013-01-18 | Adding a sleep() paradigm to tasks. | Nicolas 'Pixel' Noble | |
2013-01-16 | Since I have to eat these exceptions no matter what, let's try to improve ↵ | Nicolas "Pixel" Noble | |
them a bit for speed and efficiency. | |||
2013-01-09 | Disabling generating traces for task switches, and adding a move constructor ↵ | Nicolas "Pixel" Noble | |
for exceptions. | |||
2012-09-01 | Merge commit '06674e57649d536cf19715524ee40c5ad4a9026d' | Nicolas "Pixel" Noble | |
Conflicts: includes/LuaTask.h includes/TaskMan.h includes/Threads.h src/TaskMan.cc src/Threads.cc | |||
2012-08-30 | Adding a few virtual destructors. | Nicolas "Pixel" Noble | |
2012-04-08 | Redifining yielding for operations a bit, making further refinements. | Pixel | |
2012-04-08 | Ability to create timeouts without a value; need to set them later tho. | Pixel | |
2012-04-08 | Broken assert. | Pixel | |
2012-04-08 | Few more quirks into the stackless mode; we don't want to allocate stacks ↵ | Pixel | |
nor create any co-routine (or fiber) if we're stackless. | |||
2012-04-08 | Further refinements and protections in the stackless base. | Pixel | |
2012-04-08 | Putting the bases for stackless co-routines. | Pixel | |
Also cleaning up some code, clarifying some concepts, and adding more exception catchers. | |||
2012-04-06 | Making it simplier to register a task and wait for it. Also renamed ↵ | Pixel | |
createTask to registerTask, which makes way more sense. | |||
2012-04-03 | Slightly more change to the Queue system, so Debug mode doesn't freak pout. | Pixel | |
2012-04-03 | Reworking a bit the way the queues are working, and thus, the way the ↵ | Pixel | |
LuaTMainTask queue works. | |||
2012-04-01 | More code cleanup. | Pixel | |
2012-04-01 | The TaskEvent wasn't thread-safe. | Pixel | |
2011-12-11 | Added the ability for a task or an operation to yield. Also optimized some ↵ | Pixel | |
bits of the TaskManager. | |||
2011-12-04 | Reworked some things in the architecture, mainly exceptions and asserts. | Pixel | |
-) 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. | |||
2011-11-17 | Cleaning some code, redesigning a bit the stack allocation problem from the ↵ | Pixel | |
task manager, and actually implementing it properly. | |||
2011-11-17 | Introducing the fact we need a more efficient stack allocator, and that it's ↵ | Pixel | |
to be performed from the task manager. | |||
2011-11-17 | Since tasks can be on different task managers, one has to signal them a bit ↵ | Pixel | |
differently. | |||
2011-11-16 | Kind of a big revamp of the TaskMan / Task model, in order to introduce a ↵ | Pixel | |
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. | |||
2011-11-15 | Moving the static yield from Task.h to Task.cc. You don't want to throw an ↵ | Pixel | |
exception from a .h file... | |||
2011-10-18 | libcoro seems to be doing really spurious things when not using the standard ↵ | Pixel | |
functions. Switching out libcoro for the native Fibers interface for Win32. Switching out the asm version for the ucontext version for Linux. | |||
2011-10-17 | Adding the Async event, and tweaking the others a bit. | Pixel | |
2011-10-17 | Removing the 'non-preemptible' madness before it could even be used. | Pixel | |
2011-10-17 | Adding an early version of the 'engine debug' facility. | Pixel | |
2011-10-14 | Further tweaks to the Task class: now a Task can declare being smart, and ↵ | Pixel | |
say it's okay to get a EAgain exception, if the operation is interruptible. | |||
2011-10-14 | Tweaking the Task class a bit. | Pixel | |
-) 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 | |||
2011-10-14 | Making sure that external task yields are able to complete their subactions. ↵ | Pixel | |
Hence removing a few now unnecessary asserts. | |||
2011-10-14 | The tasks can now set themselves to be non-preemptible. Also implemented a ↵ | Pixel | |
mechanism to re-arm an event. | |||
2011-10-10 | Adding the basic "Handle" structure, and adding an early version of Input. | Pixel | |
Renamed suspend() to yield(). Fixed a couple of bugs, and reorganized slightly some code. | |||
2011-10-09 | Starting to integrate libev; timer event works. | Pixel | |
2011-10-09 | More work on the Task manager. | Pixel | |
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. | |||
2011-10-07 | More work in the Task manager. | Pixel | |
Also fixing a few bugs linked with the printer and TLS. Removed flto from compilation flags: this actually creates bad code (!) | |||
2011-10-07 | Preliminary work for the Task manager. | Pixel | |
Added libcoro submodule. Also refactored some pieces of code. |