<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guile/guile-fibers/tests, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://cgit.wugi.info/guile/guile-fibers/atom?h=master</id>
<link rel='self' href='http://cgit.wugi.info/guile/guile-fibers/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/'/>
<updated>2017-08-06T10:59:50Z</updated>
<entry>
<title>Rebase fibers on top of schedulers and tasks</title>
<updated>2017-08-06T10:59:50Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-08-06T10:59:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=2a4f707827105d041668f34b62daaff871c22c07'/>
<id>urn:sha1:2a4f707827105d041668f34b62daaff871c22c07</id>
<content type='text'>
This commit refactors fibers to be based on lighter-weight "tasks",
and makes the scheduler API more orthogonal.  Now there are no more
fiber objects (although the fibers layer could re-add them if they are
useful), and fibers no longer have names (although again this could be
re-added at an upper layer).  Also it's the current scheduler that's
bound by a parameter, not the current fiber, and as it's a thread-safe
parameter it doesn't need to be bound in each fiber.
</content>
</entry>
<entry>
<title>Add new channels test.</title>
<updated>2017-02-20T19:20:42Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-02-20T19:20:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=fa66c4d4d94b092ae41eedf0f208038d8d045233'/>
<id>urn:sha1:fa66c4d4d94b092ae41eedf0f208038d8d045233</id>
<content type='text'>
* tests/channels.scm (pingpong): New test.
</content>
</entry>
<entry>
<title>run-fibers returns when initial fiber finishes</title>
<updated>2017-02-19T20:18:21Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-02-19T20:18:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=a9354b5a47c978d9bbc7095ea872e50e72f8800d'/>
<id>urn:sha1:a9354b5a47c978d9bbc7095ea872e50e72f8800d</id>
<content type='text'>
* epoll.c (scm_primitive_epoll_wait): Accept timeout in internal time
  units instead of milliseconds.  Avoid some overhead if the timeout is
  zero.
* fibers/epoll.scm (epoll): Adapt to primitive-epoll-wait chance.
  Change get-timeout callback to an "expiry" argument and an
  update-expiry last-minute function.  Tighten the window around the
  "waiting" epoll-state.
* fibers.scm (%run-fibers): Remove current-read-waiter /
  current-write-waiter parameterization, given that fibers individually
  each have this parameterization.
  (run-fibers): Add #:drain? argument.
* fibers/internal.scm (schedule-runnables-for-next-turn): Simplify a
  bit, inlining scheduler-poll-timeout and adapting to epoll change.
  (scheduler-work-pending?): New function.
  (run-scheduler): Simplify finish? logic.
* tests/basic.scm:
* tests/speedup.scm: Update to drain where needed.
* fibers.texi: Update for new run-fibers termination condition.
</content>
</entry>
<entry>
<title>Add allocation speedup test</title>
<updated>2017-02-17T12:11:39Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-02-17T12:11:39Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=e5ed64c26c21e5e6815dd44f6129c1cd0495f2ba'/>
<id>urn:sha1:e5ed64c26c21e5e6815dd44f6129c1cd0495f2ba</id>
<content type='text'>
* tests/speedup.scm: Add allocation speedup test.
</content>
</entry>
<entry>
<title>Add condition variable implementation</title>
<updated>2017-02-11T11:17:32Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-02-11T10:32:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=1e2bd7c6d67947a277c92eed9ba26a4d75f06cb3'/>
<id>urn:sha1:1e2bd7c6d67947a277c92eed9ba26a4d75f06cb3</id>
<content type='text'>
* fibers/conditions.scm:
* tests/conditions.scm: New files.
* Makefile.am: Add new files.
* fibers.texi (Conditions): New section.
* fibers/timers.scm (sleep-operation): Rename from wait-operation.
* tests/foreign.scm: Adapt to sleep-operation change.
</content>
</entry>
<entry>
<title>More speedup tests.</title>
<updated>2017-01-18T01:13:24Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-01-18T01:13:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=4a31120aaf5b5c854312500451c393649eece3f1'/>
<id>urn:sha1:4a31120aaf5b5c854312500451c393649eece3f1</id>
<content type='text'>
* tests/speedup.scm (do-times): Add different loop-to tests.
</content>
</entry>
<entry>
<title>Add test for parallel speedup.</title>
<updated>2017-01-18T00:52:43Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-01-18T00:52:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=f037b930c1542c085edaaa31ce4a4464d9070fa3'/>
<id>urn:sha1:f037b930c1542c085edaaa31ce4a4464d9070fa3</id>
<content type='text'>
* tests/speedup.scm: New file.
* Makefile.am (TESTS): Add new file.
</content>
</entry>
<entry>
<title>Disable parallelism in scheduling-order tests</title>
<updated>2017-01-08T16:18:40Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-01-08T16:18:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=011fae3dd981a7b074f82d9f76e3913276629794'/>
<id>urn:sha1:011fae3dd981a7b074f82d9f76e3913276629794</id>
<content type='text'>
* tests/basic.scm (assert-run-fibers-terminates): Allow keyword args to
  run-fibers.
  (run-order, wakeup-order): Disable parallelism.
</content>
</entry>
<entry>
<title>Add support for operations from foreign threads</title>
<updated>2017-01-04T23:09:40Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2017-01-04T23:04:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=3a75c2ef00cff215d016a47ceef1259b3a0dfc26'/>
<id>urn:sha1:3a75c2ef00cff215d016a47ceef1259b3a0dfc26</id>
<content type='text'>
* tests/foreign.scm: New file.
* Makefile.am: Add new file.
* fibers/operations.scm (perform-operation): Support blocking operations
  from foreign threads (without a scheduler).
* fibers/timers.scm (timer-sched, *timer-sched*, timer-operation): Add
  support for timeouts that use an auxiliary thread instead of relying
  on the current scheduler.
</content>
</entry>
<entry>
<title>Fix spawn-fiber outside run-fibers</title>
<updated>2016-12-30T01:10:02Z</updated>
<author>
<name>Andy Wingo</name>
<email>wingo@pobox.com</email>
</author>
<published>2016-12-30T01:04:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.wugi.info/guile/guile-fibers/commit/?id=64fb236faa819ecc49ae7d32bbb41bef265ff2fd'/>
<id>urn:sha1:64fb236faa819ecc49ae7d32bbb41bef265ff2fd</id>
<content type='text'>
* fibers.scm (run-fibers): Require init thunk for run-fibers without a
  scheduler.
  (spawn-fiber): Incorporate helper procedures, remove dynamic-state
  argument (as it's always the current dynamic state), and add parallel?
  argument.  Ensure the fiber will have the right read/write waiters.
* tests/basic.scm: Update.
</content>
</entry>
</feed>
