- 21 Mar, 2018 8 commits
-
-
David Wilson authored
* Explicitly name every test to run, I have lots of unchecked in stuff * Allow SIGINT to stop the process
-
David Wilson authored
-
David Wilson authored
In order to support a .remove() method, to prevent a minor but annoying (log visible) memory leak while running the tests.
-
David Wilson authored
-
David Wilson authored
Avoids a roundtrip for every fork.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
- 20 Mar, 2018 10 commits
-
-
David Wilson authored
* Don't need to sleep if queue>sleepers, can just pop the right queue element and return it. * If queue>sleeping and waking==sleeping, no mechanism existed to ensure a thread newly added to sleeping would ever be woken. Above change fixes that. * Cannot trust select() return value, scheduler might sleep us indefinitely while put() writes a byte. * Sleeping threads didn't pop FIFO, they popped in whatever order scheduler woke them up. Must recover index and use it to pick the pop index.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
- If latch.get() is called and the queue is empty, a thread is put to sleep. - If Latch.put() from another thread then appends an item to the queue and wakes the sleeping thread, and - If a subsequent Latch.put() from the same or another thread manages to acquire `lock` before the sleeping thread is scheduled, - The sleeping thread's wake socket would have multiple bytes written to it. Therefore create a new _pending variable to track the only item assigned to each thread (keyed by its write socket), and remove the socket from `sleeping` from within put.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
See new docs
-
David Wilson authored
-
- 19 Mar, 2018 22 commits
-
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Change from writing '\x00' to writing '\x7f', and verify that is the byte that woke the sleeping thread. Add a bunch more IO logging.
-
David Wilson authored
-
David Wilson authored
Needed to make large range allocations (1000 per ALLOCATE_ID roundtrip) feasible.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
Fixes support for virtualenv. Closes #152.
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-
David Wilson authored
-