<br>in AnyEvent::Handle::DESTROY, the $wbuf isn't afforded the same luxuray of utf8::downgrade() as the other syswrite call found via push_write(). If you are so unlucky as to have a Wide char inside of wbuf in the DESTROY linger, CPU will spin and the warnings keep spewing. In my case, for an hour. Lines of interest: <br>
<br><pre> push @linger, AE::io $fh, 1, sub {
my $len = syswrite $fh, $wbuf, length $wbuf;
</pre><br>found this is via AE::HTTP requests using POST where the body wasn't turned in to bytes before getting in to linger. <br>Obviously my fault; encoding the data fixes things, but FYI. <br><br>here's the gist of testing / reproducing it <br>
<br> <a href="https://gist.github.com/4355681">https://gist.github.com/4355681</a><br><br>bug? caller should be using correct coding, sure; but a surprise awaits if one gets these conditions to line up. a similar utf8::downgrade seemed to fix. <br>
<br>thx,<br><br>-gleeco