Revision history for subs-parallel-0.04
0.04 Tue Jun 17 23:26:44 2005
This is more of a fine-tuning version, just to guarantee that some
specific situations will work as expected.
- First CPAN upload after giving up waiting an answer from the folks at
the official module-list.
- Some simple test cases added.
- Now, parallelyzed subs keep their prototypes. This didn't happen
before, so you couldn't parallelyze LWP::Simple's get() without a
warning. It would DWYM, though, but it seemed wrong. So this is fixed
but introduced the dependency of Scalar::Util (which would end up
being included anyway, as there's a lot of magic going on here).
- CORE::GLOBAL::ref() is now overriden in order to make it DWYM with
returned objects (previously, it would returns 'subs::parallel').
0.03 Mon Jun 13 20:50:25 2005
- Refactored the functional interface, so it makes more sense.
- Now there's documentation! Including a big "CAVEATS" section.
- Previously if you never used the return value of a parallelyzed sub
(i.e. it was called in void context) some memory would be leaked due
to non-detached threads waiting to be joined. Now, when the return
value goes out of scope (or never even enters, as in void context)
the threads are detached.
- The previous fix resulted in another bug which caused threads to be
incorrectly detached. This has been worked around.
- parallelyze() was causing "Scalars leaked: 1" warnings. Although
I don't really, understand why, it has been fixed. All I needed to
do was to change its definition from
sub parallelyze (&) { parallelyze_coderef(@_)->() }
to
sub parallelyze (&) { parallelyze_coderef(shift)->() }
As I read somewhere, I suspect there's just too much magic associated
with @_.
- The "parallel" attribute is now known as "Parallel" due to perl
interpreter whining.
- 0.03 is a much more respectable version number (hence the number of
issues fixed / worked-around).
0.02 June 10, 2005
This was supposed to be the first public version. But I decided to bump
up the version number because it seemed like the way to go. Besides,
who would use a module that is only version 0.02 and doesn't have that
many features? ;)
- "parallel" attribute handling implemented
0.01 June, 2005
- Gathering ideas.
- Making it just work.