./devel/p5-Coro, Perl module for threads

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 6.514, Package name: p5-Coro-6.514, Maintainer: pkgsrc-users

This module collection manages continuations in general, most often
in the form of cooperative threads (also called coros, or simply
"coro" in the documentation). They are similar to kernel threads
but don't (in general) run in parallel at the same time even on SMP
machines. The specific flavor of thread offered by this module also
guarantees you that it will not switch between threads unless
necessary, at easily-identified points in your program, so locking
and parallel access are rarely an issue, making thread programming
much safer and easier than using other thread models.


Required to run:
[devel/p5-common-sense] [devel/p5-Canary-Stability]

Master sites: (Expand)

SHA1: 340da1e2ff0e8921e28c218e96deb897d6405a9e
RMD160: c244e6d4590535c3b0a199fd571b4f7c6021c59d
Filesize: 190.549 KB

Version history: (Expand)


CVS history: (Expand)


   2017-09-27 17:34:05 by Thomas Klausner | Files touched by this commit (3)
Log message:
devel/p5-Coro: import p5-Coro-6.514

This module collection manages continuations in general, most often
in the form of cooperative threads (also called coros, or simply
"coro" in the documentation). They are similar to kernel threads
but don't (in general) run in parallel at the same time even on SMP
machines. The specific flavor of thread offered by this module also
guarantees you that it will not switch between threads unless
necessary, at easily-identified points in your program, so locking
and parallel access are rarely an issue, making thread programming
much safer and easier than using other thread models.
   2015-06-12 12:52:19 by Thomas Klausner | Files touched by this commit (3152)
Log message:
Recursive PKGREVISION bump for all packages mentioning 'perl',
having a PKGNAME of p5-*, or depending such a package,
for perl-5.22.0.
   2015-02-13 15:00:02 by Makoto Fujiwara | Files touched by this commit (3) | Package updated
Log message:
(pkgsrc)
 - Drop patch-Colo_ecb.h
   (It was "Use __builtin_unreachable on Clang instead of the broken C11 \ 
hack.",
   and now upstream takes care.)

(upstream)
 - Update 6.41 to 6.42
-------------------
6.42 Wed Feb 11 20:29:52 CET 2015
     - Coro::SemaphoreSet->try did not actually work (analyzed by
       SATO Kentaro).
     - upgrade libecb to be C11 compliant.
   2015-01-29 01:48:51 by Makoto Fujiwara | Files touched by this commit (3) | Package updated
Log message:
Update 6.39 to 6.41
6.41 Sat Sep  6 22:08:46 CEST 2014
        - restore portability to perl 5.8.x.
        - give new Coro's a valid GvHV(PL_hintgv) - this is slow and takes
          up some memory, but fixes "use feature" and similar modules
          when used inside a Coro.
        - allow zero as argument to Coro::Channel to mean the same thing
          as no argument. this works with older versions as well,
          but wasn't legal until now.
        - slightly better c header file detection.
   2014-11-10 19:09:11 by Joerg Sonnenberger | Files touched by this commit (12)
Log message:
Use __builtin_unreachable on Clang instead of the broken C11 hack.
   2014-06-26 00:30:54 by Amitai Schlair | Files touched by this commit (2) | Package updated
Log message:
Update to 6.39. From the changelog:

- work around more incompatible changes in 5.20.
- check that perl slots actually have enough space to hold
  interpreter variables.
- untested port to perl 5.19 (64 bit tmps indices) (reported
  by Andreas König).
- croak when cancel is called without a thread context.
- *sigh*, removed leftover debugging code from debugging a
  perl bug, of all things.
- semaphores would not clear the destroy hook when interrupted
  by ->throw, causing segfaults or worse.
- ->throw on a thread waiting for a semaphore did not acquire
  the semaphore, but also didn't wake up other waiters,
  possibly causing a deadlock.
- "FATAL: $Coro::IDLE blocked itself" will now use Carp::confess
  to report a full stacktrace, which should help find out
  where the actual call is.
- "atomically" destroy data in slf_destroy, because it is
  the right thing to do, just in case.
- disable ecb.h libm dependency, to compile on ancient systems
  or under adverse conditions.
- do not crash when freeing padlists with holes (in 5.18).
- tentative SVt_BIND 5.19 port/fix.
- use a new algorithm to derive padlists for perl 5.18. The old
  one could lead to 0-pointer accesses inside perl (reported
  by Darin McBride).

Not a leaf, but this update should fix a handful of depending
packages, and at least one of those passes its tests against this
version.
   2014-05-30 01:38:20 by Thomas Klausner | Files touched by this commit (3049)
Log message:
Bump for perl-5.20.0.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
   2013-09-02 15:16:26 by OBATA Akio | Files touched by this commit (3) | Package updated
Log message:
Update p5-Coro to 6.31.

Revision history for Perl extension Coro.

6.31 Thu May  9 07:39:48 CEST 2013
	- Coro::AIO requests would crash if the thread was ready'd
          while the request was ongoing.

6.29 Wed May  8 02:55:18 CEST 2013
	- when an on_destroy handler destructs the coro currently being
          destructed a perl scalar could be accessed after being freed,
          likely causing a crash.

6.28 Wed Mar  6 06:58:02 CET 2013
	- clean remnants of existing __DIE__ and __WARN__ handlers so
          they lose their magic and will not cause segfaults later
          (testcase by Andrey Sagulin).
	- improved Coro::State documentation a bit.
        - Coro::Debug::command now flushes the output.
        - add hack detection code for x32 abi, because the braindead slugs
          who designed that made it look exactly like x86_64 without
          providing proper compile time symbols to test for it. as a result,
          this detection cannot work reliably.
        - valgrind stack registering was broken.
        - do not rely on Time::HiRes anymore in Coro::Debug.

6.23 Fri Dec  7 23:36:37 CET 2012
        - use experimental fiber implementation on native windows
          perls.
        - use sizeof (void *) as multiplication factor for stack sizes,
          to accomodate the totally braindamaged microsoft 64 bit "os".
        - changed verifier host from win2k-ap510-32 to win7-sp516-32/64.
          activeperl 5.16 crashes when PerlIO_define_layer is called due
          to some bug in the perl dll, strawberry perl at least passes
          the testsuite.
        - implement Coro::Handle->peeraddr/host/port, for slightly
          improved compatibility with LWP.
	- implement 5.17 compatibility by almost blindly applying a
          good-looking patch by Father Chrysostomos.
        - move stack management functions into libcoro 3.
        - libcoro version 3 "released".
	- support magic values as timed_io_once args.
	- recommend AnyEvent 7+ or EV 4+, also require EV
          version 4 or newer for Coro::EV.

6.10 Tue Oct  9 01:14:27 CEST 2012
	- updated ecb.h, it had a typo that caused it to not compile on many
          big endian systems (reported by many people).
        - disable memory fences in ecb.h to improve portability.

6.09 Sat Oct  6 23:25:02 CEST 2012
	- Coro::EV I/O watchers were not interruptible by exceptions
          (Coro::State::throw) (testcase by sten).
        - ->throw now puts threads into the ready queue, as this seems to
          be expected by existing code, and code that doesn't cope with spurious
          wakeups needs fixing anyway.
	- use fd -1 in mmap.
        - cast I32 to int in error message printf.
        - warn about broken so-called "hardened" kernels.

6.08 Fri Apr 13 12:05:47 CEST 2012
	- be more aggressive about exiting like perl does - formerly,
          exiting from the non-main thread would not execute END blocks.