[Moscow.pm] Coro
Mons Anderson
mons на rambler-co.ru
Вт Янв 24 14:15:57 PST 2012
use Devel::GlobalDestruction;
sub DESTROY {
return if in_global_destruction;
AE::io...
}
В GD поработать нормальн овам уже не дадут. там можн обудет выполнить
только синхронные операции. поэтому логика вызова AE в этом случае не
совсем корректна.
On 21.01.2012 7:53, Ivan Petrov wrote:
>> Это уже мем, который популяризирует dk и остальные, которым не нравится жёсткие
>> ответы автора.
>> Если автор холит своё детище и оберегает от глупостей, на его взгляд, то это
>> нужно понимать :)
>> Автор-то — гений.
> он иногда довольно жестко отвечает даже в довольно спорных случаях.
>
> например имеем код на AE
>
> package Object;
>
> sub method {
> my ($self) = @_;
> AE::что-то sub {
> $self->что-то..
> }
> }
>
> у нас все прекрасно.
>
> Но вот если сюда приписать какую-то фигатень вида:
>
> package Object;
>
> sub method {
> my ($self) = @_;
> AE::что-то sub {
> $self->что-то..
> }
> }
>
> sub DESTROY {
> my ($self) = @_;;
> ...
> AE::что-то => sub {
> что-то там...
> };
> }
>
> То начинаем огребать проблемы с глобальным деструктором если EV в
> бакенде используется. то есть упомянутый DESTROY может еще быть вызван
> вне глобального деструктора, а падать в core dump оно будет в EV.
>
> Отписался Леману на эту тему. Он сказал знаю мол, бага. Но из
> соображения производительности фиксить не буду. Фигня мол, ну и что
> что в глобальном деструкторе оно у вас падает? Даже опцию компиляции
> вводить не буду, это никому не нужно. А в итоге есть случаи в которых
> тесты написать сложно. В итоге тесты приходится писать с Perl
> имплементатором AE. а он в общем и целом ведет себя по другому чем EV.
>
> И это всего один из множества случаев общения с ML.
>
> Хотя временами он очень даже оперативно на баги реагирует, а самое
> главное он их хорошо пишет. С патчами и коментариями и итп :)
>
Подробная информация о списке рассылки Moscow-pm