Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

    PaulHowarth/Blog/2011-06-29

Wednesday 29th June 2011

Fedora Project

  • Updated libpng10 in all current releases to address 1-byte uninitialized memory reference in png_format_buffer() (CVE-2011-2501, related to CVE-2004-0421)

  • Updated perl-Perl-Critic in dist-f16-perl to run the author tests (and pull in the associated additional build requirements) if (and only if) the %perl_bootstrap macro is not defined

Local Packages

  • Updated libpng10 as per the Fedora version

  • Updated perl-Coro to 6.0:

    • Incompatible Change: unreferenced coro objects will now be destroyed and cleaned up automatically (e.g. async { schedule })

    • Implement a JIT compiler for part of the thread switch code, which gives a 50% speed improvement on threaded perls, and about 4% on non-threaded perls (so threaded perls now finally reach about half the speed of non-threaded perls)
    • Slightly modernise Coro::Intro, add section about rouse functions

    • Avoid DEFSV and ERRSV, giving another 10% improvement in thread switching

    • Coro::State->is_destroyed is now called is_zombie

    • Implement a Coro->safe_cancel method that might fail, but cancels in a "safer" way if it succeeds

    • Add preliminary support for DEBUGGING perls

    • Get rid of two hash-accesses when initialising a new Coro - this speeds up coro creation by almost a factor of two

    • Croak when a coro that is being cancelled tries to block (e.g. while executing a guard block), instead of crashing or deadlocking

    • Use a more robust and also faster method to identify Coro::State objects - speeds up everything a bit

    • Implement Coro->cancel in XS for a 20% speed improvement, and to be able to implement mutual cancellation

    • Speed up context switches by a percent or two by more efficiently allocating context stack entries
    • Implement Coro->join and Coro->on_destroy in XS for a speed-up and a reduction in memory use

    • Cancelling a coro while it itself is cancelling another coro is now supported and working, instead of triggering an assertion

    • Be a bit more crash-resistant when calling (buggy) on_destroy callbacks (best effort)

    • Move on_destroy into the slf_frame, to allow extension slf functions to have destructors

    • Get rid of coro refcounting - simply crash in other interpreter threads by nulling the pointers on clone

    • Simplify warn/die hook handling when loading Coro - the convoluted logic seems no longer to be necessary

    • Use libecb instead of our own home-grown gcc hacks

    • Document alternatives to Coro::LWP - please use them :)

    • Work around another mindless idiotic needless bug in openbsd/mirbsd's sigaltstack

  • I had to add a patch to remove a bit of CFI assembler code in coro.c for distributions that had too old a gcc/gas combination (anything older than Fedora 11)

  • Updated perl-IO-AIO to 3.92:

    • (libeio) work around a Linux (and likely FreeBSD and other kernels) bug where sendfile would not transfer all the requested bytes on large transfers, using a heuristic

    • Buggy sendfile caused aio_move/copy to sometimes fail for big files (fortunately it checks that the whole file has been transferred...)

    • Use libecb for higher performance and higher portability

    • (libeio) disable sendfile on darwin, it's too broken

    • Disable fork tests on !linux, as only linux supports mixing pthread and fork in perl

    • Document the fact that fork doesn't work any more when using this module, on anything !GNU/Linux

    • Increase timeout in t/04_fork.t, as too many CPAN-tester setups run on a 0.1 MHz cpu (or so)

  • Contrary to upstream's changelog, the header file ecb.h was still missing so I copied it over from the Coro 6.0 distribution by the same author so that the package would build (CPAN RT#69186)


Recent