Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-08-13 | Fixing rare multithreading crash. | Nicolas "Pixel" Noble | |
-) Make sure to acquire the eventLock when possibly deleting a Task. -) Keep the lock until we're done with it. | |||
2013-08-01 | Specifying a bit more the logs around ev_run. | Nicolas Noble | |
2013-07-31 | Added a few forgotten references. | Nicolas "Pixel" Noble | |
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-09-01 | Adding async operations; first step towards tossing libeio out. | Nicolas "Pixel" Noble | |
2012-08-29 | Using true C++11 initializers in classes. | Nicolas "Pixel" Noble | |
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 | Putting the bases for stackless co-routines. | Pixel | |
Also cleaning up some code, clarifying some concepts, and adding more exception catchers. | |||
2012-04-08 | This debug message wasn't supposed to get committed... | Pixel | |
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-06 | Making the threads (as well as the taskman thread) a bit more exception-robust. | Pixel | |
2012-04-06 | A few improvements over how a threaded TaskMan works. Now its own exported ↵ | Pixel | |
class. Also has a proper exception handling in its caller. | |||
2012-04-06 | Anonymizing the WinSocketStartup class. | Pixel | |
2012-04-03 | Making a few classes anonymous. | Pixel | |
2012-04-03 | Simplifying the logic in the compuation of the noWait boolean. | Pixel | |
2012-04-03 | Fixing a bug where we could have a stalled TaskMan with dead tasks pending ↵ | Pixel | |
ack from yielded tasks. | |||
2012-04-01 | More code cleanup. | Pixel | |
2012-03-27 | More code cleanup | Nicolas "Pixel" Noble | |
2012-03-08 | Adding the ScopeLock class to simplify a bit some pieces of code. | 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 | Refactored the Thread code a bit, and created the GlobalThread class, for ↵ | Pixel | |
threads that are created on startup. | |||
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-29 | The TaskManager no longer waits on the pop(); instead it waits in the libev ↵ | Pixel | |
loop; also the Queue<> template changed for a naive but std-less implementation. | |||
2011-11-19 | Fixing a few very stupid bugs. | Pixel | |
2011-11-18 | Updating libev's timestamp after we (potentially) wait a long time for ↵ | Pixel | |
something to do. | |||
2011-11-17 | HTTP server's first real test, alongside multiple taskmanager threads. | Pixel | |
I'm not really sure I fully like the way I'm designing this, but I guess it could be solved with an HTTP/HTML helper class around the Action class. However, the HTTP server awfully need reference counting, so it doesn't go away before all of the workers disappear, which means a bit of a redesign of the Listener template. | |||
2011-11-17 | And adding the round robin system to the task scheduler. Now to write some ↵ | Pixel | |
unit test for this... | |||
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 | clang actually managed to pick up a bug... | Pixel | |
2011-11-16 | And with the new TaskScheduler system, let's add a way for a new task to ↵ | Pixel | |
stick on another one's thread, if needed. (and it is) | |||
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-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 | Tweaking a bit the main event loop to simplify it. | Pixel | |
2011-10-17 | Adding an early version of the 'engine debug' facility. | Pixel | |
2011-10-14 | Fixing a few bugs. | Pixel | |
-) The IO class needed an assignment operator, as well as the ability to NOT contain a Handle. -) The Task Manager wasn't properly starting up pending tasks that got added during startup. | |||
2011-10-12 | Forgot mingw32-config.h. Also fixed a couple of bugs: | Pixel | |
WSAStartup has to be called in win32 at startup. The TLS environment needs to be cleared when created. | |||
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 | Adding basic locks from libpthread. Also, that 'pending' loop belongs after ↵ | Pixel | |
we activate the tasks. | |||
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. |