summaryrefslogtreecommitdiff
path: root/includes/TaskMan.h
AgeCommit message (Collapse)Author
2013-01-22Another pass of cruft cleaning.Pixel
2012-09-01Merge commit '06674e57649d536cf19715524ee40c5ad4a9026d'Nicolas "Pixel" Noble
Conflicts: includes/LuaTask.h includes/TaskMan.h includes/Threads.h src/TaskMan.cc src/Threads.cc
2012-09-01Adding async operations; first step towards tossing libeio out.Nicolas "Pixel" Noble
2012-08-29Using true C++11 initializers in classes.Nicolas "Pixel" Noble
2012-04-06Making it simplier to register a task and wait for it. Also renamed ↵Pixel
createTask to registerTask, which makes way more sense.
2012-04-06Improving a bit the way threaded task managers are being stopped.Pixel
2012-04-06A 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-03Reworking a bit the way the queues are working, and thus, the way the ↵Pixel
LuaTMainTask queue works.
2011-12-04Reworked 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-29The 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-17HTTP 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-17Cleaning some code, redesigning a bit the stack allocation problem from the ↵Pixel
task manager, and actually implementing it properly.
2011-11-17Introducing the fact we need a more efficient stack allocator, and that it's ↵Pixel
to be performed from the task manager.
2011-11-16Seems clang is picky. I don't know if I like or hate this compiler yet.Pixel
2011-11-16And 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-16Kind 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-16This function doesn't exist.Pixel
2011-10-18libcoro 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-17Tweaking a bit the main event loop to simplify it.Pixel
2011-10-09Adding basic locks from libpthread. Also, that 'pending' loop belongs after ↵Pixel
we activate the tasks.
2011-10-09Starting to integrate libev; timer event works.Pixel
2011-10-09More 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-07More 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-07Preliminary work for the Task manager.Pixel
Added libcoro submodule. Also refactored some pieces of code.