summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* Bump version to 0.4.0v0.4.0Andy Wingo2016-12-162-3/+3
* Update NEWS.•••* NEWS: Update. Andy Wingo2016-12-161-0/+24
* Add REPL commands to manualAndy Wingo2016-12-162-1/+38
* Add examples to fibers.texiAndy Wingo2016-12-162-1/+199
* Update fibers manualAndy Wingo2016-12-161-23/+23
* Factor interrupt generation to separate facility•••* fibers/interrupts.scm: New file. * fibers/internal.scm (<scheduler>): Remove Hz field and adapt users. (run-scheduler): Remove preemption; (fibers) handles this now. (yield-current-fiber): New primitive. * fibers.scm (run-fibers): Use interrupts module and wrap run-scheduler in `with-interrupts'. * Makefile.am: Add new file. Andy Wingo2016-12-164-61/+121
* Add posix-clocks.scm•••* fibers/posix-clocks.scm: New file. * Makefile.am: Add new file. Andy Wingo2016-12-162-0/+167
* Add support for preemption•••* Makefile.am: Add new test. * TODO.md: Remove stale TODO entries. * fibers.scm (run-fibers): Add #:hz parameter. * fibers.texi (Design): Mention that we support preemption. (Using Fibers): Update for preemption. * fibers/internal.scm (<scheduler>): Add hz field. (make-scheduler): Add #:hz initarg. (maybe-preemptive): New helper. (run-scheduler): Use maybe-preemptive. * tests/preemption.scm: New test. Andy Wingo2016-12-126-47/+154
* Minor documentation tweak•••* fibers.texi (Barriers): Prefer the word "suspendable" over "rewindable". Andy Wingo2016-12-121-4/+6
* Error on attempt to suspend unsuspendable continuations•••* fibers/internal.scm (suspend-current-fiber): Error if the fiber is not suspendable. Andy Wingo2016-12-121-2/+9
* Fix manual build•••* fibers.texi: Fix Continuation Barriers xref. Andy Wingo2016-12-121-2/+2
* Add scary words about mutexes•••* fibers.texi (Mutexes): New section. Andy Wingo2016-12-121-3/+38
* Add manual section on continuation barriers.•••* fibers.texi (Barriers): New section. Andy Wingo2016-12-121-1/+85
* Update spawn-fiber documentationAndy Wingo2016-12-121-1/+7
* Describe fibers as being Go-like rather than Erlang-like.•••* README.md: Update. Andy Wingo2016-12-121-2/+2
* Fibers inherit dynamic state of parent.•••* fibers.scm (spawn-fiber): Fibers inherit dynamic state of parent. * tests/parameters.scm: New test. * Makefile.am: Add new file. Andy Wingo2016-12-123-3/+81
* Import (ice-9 threads) to avoid deprecation warnings•••* fibers/internal.scm: * fibers/repl.scm: Explicitly import (ice-9 threads). Andy Wingo2016-12-122-0/+2
* Merge pull request #4 from vyp/typo•••fibers/internal: comment typosAndy Wingo2016-10-191-2/+2
|\
| * fibers/internal: comment typosxd1le2016-10-041-2/+2
* | 0.3.0•••* configure.ac: * fibers.texi: Bump version. v0.3.0Andy Wingo2016-10-122-3/+3
* | Update documentation•••* fibers.texi: Update. Andy Wingo2016-10-121-27/+189
* | create-fiber does not return the fiber•••* fibers/internal.scm (create-fiber): Don't return the fiber. Andy Wingo2016-10-121-2/+1
* | Rename choose to choice•••* fibers/operations.scm (choice-operation): Rename from choose-operation. Andy Wingo2016-10-121-3/+3
* | Internals twiddles•••* fibers/internal.scm (current-scheduler/public): Document. (current-fiber/public): New accessor. (resume-on-timer): Document. * fibers.scm: Adapt to use current-fiber directly from the internals. Remove kill-fiber. Andy Wingo2016-10-122-16/+18
* | Rework internals resume interface•••* fibers/internal.scm (resume-on-fd-events, resume-on-readable-fd) (resume-on-writable-fd, resume-on-timer): Rework primitive resume interface. * fibers.scm: * fibers/timers.scm: Adapt users. Andy Wingo2016-10-123-26/+37
* | Update documentation.Andy Wingo2016-10-125-37/+85
* | Epoll handles event buffer size itself•••* fibers/epoll.scm: Internall handle `maxevents'. * fibers/internal.scm (schedule-runnables-for-next-turn): Update for epoll interface change. Andy Wingo2016-10-122-12/+18
* | fiber-continuation•••* fibers/internal.scm: Rename fiber-data to fiber-continuation. Adapt all users. * fibers/repl.scm: Adapt. Andy Wingo2016-10-122-11/+11
* | Minor fibers/internal cleanups.•••* fibers/internal.scm: Minor cleanups. Andy Wingo2016-10-121-7/+0
* | Move wake facility to epoll module•••* fibers/epoll.scm: Move wake facility here. Note that due to a miscompilation in Guile 2.1.4, this requires a patch from Git master. * fibers/internal.scm: Adapt to change. Andy Wingo2016-10-112-88/+86
* | Lighter fibers•••* fibers/internal.scm: Remove fiber-state; this is managed implicitly now by ensuring that a fiber is only resumed at most once per suspend. We no longer record fiber return values; that should be up to the fiber's init continuation. Replace scheduler inbox with making the runqueue atomic. * fibers.scm (run-fibers): Adapt to run-scheduler change. * fibers/repl.scm (fibers): Adapt to fiber-data change. Andy Wingo2016-10-113-80/+47
* | Runnables refactor•••* fibers/deque.scm (empty-deque?, dequeue-all, dequeue-all!): New interfaces. (update!): New helper. (enqueue!): Use new helper. * fibers/internal.scm: Use deque instead of stack for runnables. Andy Wingo2016-10-112-27/+45
* | Factor out deque implementation•••* fibers/deque.scm: Factor out to helper module. * Makefile.am: Add deque.scm. * fibers/channels.scm: Use (fibers deque). Andy Wingo2016-10-113-48/+78
* | Internal channels refactor•••* fibers/channels.scm: Queue is really a deque; refer to it as such. Andy Wingo2016-10-111-27/+28
* | Update fibers.texi.•••* fibers.texi: Update. Andy Wingo2016-10-111-26/+101
|/
* Fix scheduler busy-waiting bug•••* fibers/internal.scm (schedule-runnables-for-next-turn): Fix bug where we were busy-waiting when there were no active fd's. Andy Wingo2016-10-031-9/+11
* Timeout CML operations•••* fibers/timers.scm: New file. * fibers/internal.scm (add-timer!): Take expiry as absolute time. * fibers.scm (fibers): Re-export sleep from (fibers timers). * Makefile.am: Adapt. Andy Wingo2016-10-034-16/+59
* Sleep refactor•••* fibers/internal.scm: Rename sleepers to timers, and be callbacks instead of waking fibers directly. * fibers.scm (sleep): Adapt. Andy Wingo2016-10-032-45/+38
* Reimplement in terms of Parallel Concurrent ML•••* fibers/operations.scm: New file. * fibers/channels.scm: Reimplement in terms of operations (CML events). * tests/basic.scm: Remove channels tests. * tests/channels.scm: Add channels tests. * Makefile.am: Update for new files. Andy Wingo2016-10-035-101/+542
* Add support for ,spawn-fiberAndy Wingo2016-09-203-34/+149
* Update TODO.mdAndy Wingo2016-09-201-18/+16
* Add ,fibers command.Andy Wingo2016-09-205-1/+69
* Add fibers and schedulers to namesets•••* fibers/internal.scm (fibers-nameset, schedulers-nameset): Add schedulers and fibers to namesets. Appears to slow down fiber creation by 2X; oh well? Andy Wingo2016-09-191-8/+19
* Add nameset to name fibers and schedulers•••* fibers/nameset.scm: New file. * Makefile.am (SOURCES): Add new file. Andy Wingo2016-09-192-0/+74
* Update Guile dep.Andy Wingo2016-09-141-1/+1
* Update documentation.•••* fibers.texi: Update. v0.2.0Andy Wingo2016-09-111-2/+271
* Remove `sleep' export from (fibers internal)•••* fibers/internal.scm: Remove `sleep' export. Andy Wingo2016-09-111-1/+0
* Release preparations•••* README: New link to README.md, to make automake --gnu happe. * configure.ac: Bump version in anticipation of release. * fibers.texi: Start to flesh out a bit more. Andy Wingo2016-09-113-2/+19
* README in markdown form•••* README.md: Change to markdown. * Makefile.am: Update. Andy Wingo2016-09-113-56/+91
* Minor TODO.md updates•••* TODO.md: Minor updates. Andy Wingo2016-09-111-20/+20