summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-10-17Removing the 'non-preemptible' madness before it could even be used.Pixel
2011-10-17Redefined how the IO class works. The ref counting should now work properly.Pixel
2011-10-17Adding an early version of the 'engine debug' facility.Pixel
2011-10-17Forgot test-Threads.ccPixel
2011-10-17Adding the debug / non-debug defines from the Makefile, and avoiding pointer ↵Pixel
aliasing.
2011-10-14Fixing 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-14Further 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-14Tweaking 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-14Actually removing the asserts now.Pixel
2011-10-14Making sure that external task yields are able to complete their subactions. ↵Pixel
Hence removing a few now unnecessary asserts.
2011-10-14Adding a Thread and a Queue class.Pixel
2011-10-14The tasks can now set themselves to be non-preemptible. Also implemented a ↵Pixel
mechanism to re-arm an event.
2011-10-13Implementing a pthread TLSManager.Pixel
2011-10-13Having a template here is useless...Pixel
2011-10-12Enabling cross-compilation for Darwin. Haven't tested under the real thing ↵Nicolas "Pixel" Noble
yet though. The eprintf() thingy seems odd.
2011-10-12Mingw32 is braindead, and doesn't support _FILE_OFFSET_BITS. Disabling the ↵Pixel
stat watcher in libev, and adding a patch for people to fix their mingw32 distribution.
2011-10-12Yes, surprisingly enough, one can run wine to process these unit tests.Pixel
2011-10-12Forgot 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-11Updating the libeio project.Pixel
2011-10-11Making the project compile with mingw32, on the same Makefile. No more ↵Pixel
separate Makefiles insanity.
2011-10-11Input class seems to be done.Pixel
2011-10-10Adding a few more features to Input, and actually creating a slightly better ↵Pixel
ClassName system, when using gcc and libstdc++.
2011-10-10Adding the 'stats' call to Input.Pixel
Also fixing a bug with the Printer - va_args are vicious.
2011-10-10Adding 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-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-09Adding libev.Pixel
2011-10-09Adding libeio to the compilation blurb.Pixel
2011-10-09This wasn't intended.Nicolas "Pixel" Noble
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-07Simplifying Makefile, by offloading defines to config files, and using ↵Pixel
-imacros to load them.
2011-10-07Adding 'Sanity' test software, simplified Makefile, and turned 64 bits file ↵Pixel
offsets.
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.
2011-10-04Small tweaks to the Makefile; adding flto for true linu output.Nicolas "Pixel" Noble
2011-10-04It's not because Microsoft is stupid by not having vasprintf that we need to ↵Nicolas "Pixel" Noble
be stupid too.
2011-10-04Adding atomics.Nicolas "Pixel" Noble
2011-10-03First commit - very basic features.Pixel