[initial add -- basic implementation, no comments, no synchronised tasks marijnh@gmail.com**20080518154037] [-1 race condition ;) marijnh@gmail.com**20080518154340] [docstrings for queue package marijnh@gmail.com**20080518154846] [reverse argument order of queue-push to follow cl:push marijnh@gmail.com**20080518155207] [add some tests marijnh@gmail.com**20080518163912] [rename task-owner to task-status, which makes more sense marijnh@gmail.com**20080518164520] [add queue-empty-p marijnh@gmail.com**20080518173617] [use doubly linked nodes for the queue, add pop-if/wait-if marijnh@gmail.com**20080518183644] [add exclusiveness marijnh@gmail.com**20080518193959] [drop pcall.lisp file marijnh@gmail.com**20080518194543] [add docstrings, restore pcall.lisp, which was neede for dependency management marijnh@gmail.com**20080518201158] [use prun instead of pprogn as macro name marijnh@gmail.com**20080518205118] [make sure condition-notify is only used when the correct lock is held marijnh@gmail.com**20080518214054] [remove flawed synchronisation system marijnh@gmail.com**20080521190120] [simplify waiting for tasks, allow multiple joins on a single task marijnh@gmail.com**20080521192647] [rename prun to pexec, introduce plet marijnh@gmail.com**20080521194416] [fix issue with condition-notify only notifying a single thread marijnh@gmail.com**20080521204448] [some new test cases marijnh@gmail.com**20080521205021] [add done-p marijnh@gmail.com**20080601034824] [simplify thread management, use interrupt-thread to make stopping of threads work even when blocking on the queue marijnh@gmail.com**20080601051406] [small touch-ups marijnh@gmail.com**20080601083030] [add docs and license marijnh@gmail.com**20080601083146] [check for empty thread pool *after* enqueueing a task (prevents situation where pool is empty while there are still tasks waiting)" marijnh@gmail.com**20080604183557] [expand docs a bit marijnh@gmail.com**20080605083659] [add background document, touch up docs marijnh@gmail.com**20080605202412] [typo marijnh@gmail.com**20080606065028] [simplify concurrent-update in background.html, fix typo marijnh@gmail.com**20080606171201] [with-thread-pool Ryszard Szopa **20080718140034 Allows to run some code with a fresh thread pool. This is useful if for some reasons you want to destroy the threads you have used w/o affecting other code that may be usinc pcall. ] [revise with-local-thread-pool, add tests and docs marijnh@gmail.com**20080719154229] [mark release 0.2 marijnh@gmail.com**20090126091644 Ignore-this: 7234c5eac4de8a33aa47c11dda48e1c ] [Introduced the task-error error wrapper. Vladimir Sedach **20090306101153] [Put the condition-wait in join into a guard loop that tests whether the task has actually been done, since a thread can be woken by interrupts. Vladimir Sedach **20090307012138] [Added assertion to check task's status to execute-task. Vladimir Sedach **20090307014621] [Renamed task-waiting to task-wait-list in task object implementation. Vladimir Sedach **20090307015214] [Fixed done-p. Vladimir Sedach **20090307020629] [Added the join-one function for non-deterministic joining. Vladimir Sedach **20090307044226] [suppress warning in plet definition marijnh@gmail.com**20090307095930 Ignore-this: 2ae27e161d00780128c68bd6318966 ] [follow loop style of rest of code in condition-wait loop marijnh@gmail.com**20090307100958 Ignore-this: d1604ce8482e56513abe229328b13a98 ] [worker-thread doesn't take args anymore, so doesn't have to return a lambda marijnh@gmail.com**20090307102605 Ignore-this: e4b4a985a98847d1af2c250a59fb4dc8 ] [move gaggle of globals into a struct, support worker environments, fix completely broken with-local-thread-pool marijnh@gmail.com**20090307112035 Ignore-this: eca0ee9e3d32cfe99a99bdc3b414b399 ] [add join-one (slightly revised version of Vladimir Sedach's patch) marijnh@gmail.com**20090307120001 Ignore-this: 298773dabcac51042bd7f9dc4d0e20d0 ] [document worker environments marijnh@gmail.com**20090307120351 Ignore-this: cc94572d12fbacda01f3ef3778b53a46 ] [document join-one marijnh@gmail.com**20090307120700 Ignore-this: c6d374300a7385c7828e23472116c678 ] [add note about condition handlers and join marijnh@gmail.com**20090307121438 Ignore-this: 49cac9f641761ccdfc7d3163c0fbc636 ] [don't misrepresent license style (zlib, not BSD) marijnh@gmail.com**20090418183022 Ignore-this: 4f7362a8eac5e08afc707fd7137ee2f3 ] [Replaced join-one with select-one. Vladimir Sedach **20090820010516 Ignore-this: c67ce644397ec9d50acb37e1eef31880 ] [Added a run-tests function to pcall-tests. Vladimir Sedach **20090820012728 Ignore-this: d673b385c055a767197176d67714afac ] [Removed thread pool environments. Vladimir Sedach **20090820012808 Ignore-this: b7636176328490f1aee3c28c3484c6c8 ] [Rewrote pcall to be based on eager futures; renamed the system to 'eager-future' Vladimir Sedach **20090821071814 Ignore-this: ceed3a97c19bfb8b21ab41736191bcf ] [Changed thread pool to use leader-follower pattern. Added a thread pool that destroys excess threads. Vladimir Sedach **20090829065703 Ignore-this: 1d35d2cb01957462b56b9a0cff6b8b33 ] [Renamed select-one to select. Simplified code for reclaiming thread pools and the thread pool interface. Vladimir Sedach **20090901235608 Ignore-this: e7a9f6c5031a286705069f2f159e667a ] [Removed doc folder from the repository. Vladimir Sedach **20090901235701 Ignore-this: 523ece8f2cfdf0f6fbfbf1c49a37e93b ] [Added myself to copyright file Vladimir Sedach **20090901235904 Ignore-this: d17a099a846c75e21dfa5d48dfeed1a7 ] [Removed unnecessary backpointer to future object from execution-error. Vladimir Sedach **20090902212332 Ignore-this: e5b4e1b0e2fb1a69e8ba34d2325d944b ] [Exported FUTURE and EXECUTION-ERROR-CAUSE symbols from eager-future package. Vladimir Sedach **20090902212415 Ignore-this: 1a1e5d842e50cd2d945216466640e863 ] [Removed leader-lock from thread pool (was redundant w/thread-pool lock). Vladimir Sedach **20091122011804 Ignore-this: 7ff1b16117e3edd3b1da67054ad5463c ] [Fixed bug in ASSIGN-TASK where CONDITION-NOTIFY was called without the thread pool lock being held. Vladimir Sedach **20091122012755 Ignore-this: 6fb6699165e6d7990e984db237ce1111 ] [ Fixed bug with improperly nested condition-notify. Thanks to Maciej Katafiasz for the bug report. Vladimir Sedach **20100131011004 Ignore-this: 18267232f35fe3d77bc6ee20d3b4abda ] [TAG 0.3 Vladimir Sedach **20100131011256 Ignore-this: 903e412557648f9ff8fef8950743f474 ] [Added customizable thread pool implementations, hard limit FIFO thread pool implementation. Vladimir Sedach **20100221065721 Ignore-this: 3ecfae25826361665cc0efd3c7cd484 ]