The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования Perl 5.24.0, opennews (?), 10-Май-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


35. "Релиз языка программирования Perl 5.24.0"  +1 +/
Сообщение от chinarulezzz (ok), 10-Май-16, 18:16 
Ура, лучший скриптовый язык с лучшей инфраструктурой!

Максим, принимай исправление новости. Coro нуждается в упоминании. Это важно.

Ответить | Правка | Наверх | Cообщить модератору

38. "Релиз языка программирования Perl 5.24.0"  +/
Сообщение от коро (?), 10-Май-16, 19:26 
А что там с коро? Поменялось разве что-то?
Ответить | Правка | Наверх | Cообщить модератору

41. "Релиз языка программирования Perl 5.24.0"  +4 +/
Сообщение от chinarulezzz (ok), 10-Май-16, 19:32 
> А что там с коро? Поменялось разве что-то?

В тот момент, когда перед выпуском Perl 5.24 остались считанные дни, в рассылке perl5-porters внезапно вспомнили, что в новом Perl по-прежнему остаётся сломанным модуль Coro Марка Леманна. Одна из проблем была связана с тем, что в Perl 5.22 структура MGVTBL (магическая виртуальная таблица), формирующаяся во время компиляции perl, стала константной. Coro делал переопределение в таблице, поэтому и не мог работать с новым Perl 5.22. Было предложено откатить это изменение до выхода Perl 5.24.

Вносить подобные изменения в последние дни перед выпуском слишком рискованно, поэтому произошёл спонтанный мозговой штурм проблемы, в результате которого удалось выяснить очень много интересных деталей. Оказалось, что переопределение MGVTBL требовалось Coro только для того, чтобы переопределить работу с хендлерами сигналов __DIE__ и __WARN__ для магического хеша %SIG, что в свою очередь было сделано из-за бага Perl, когда присутствует рассинхронизация в PL_warnhook и $SIG{__WARN__}. Теоретически оба должны ссылаться на хендлер обработки предупреждений, но некоторые кривые XS-программы, в том числе входящие в базовый Perl (например, find в PerlIO::Layer), могут изменить только PL_warnhook, забыв про $SIG{__WARN__}. То есть это был банальный костыль в Coro для обхода реальной проблемы в Perl. Эта проблема была зафиксирована в баге #125349,

Более того, оказалось, что Coro можно было приспособить для работы с константной MGVTBL, Dave Mitchell и Father Chrysostomos продемонстрировали патч, который позволяет Coro работать без проблем на Perl 5.22.

Очевидно, что если бы этот мозговой штурм прошёл год назад, проблема была бы решена раньше и не возникло бы таких явлений как stableperl. Вероятно штурм бы и не потребовался, если бы Марк сообщил о проблеме в Perl, когда столкнулся с ней впервые.

P.S. Спасибо perlnews.ru за инсайдерские скандалы, интриги, расследования)

Ответить | Правка | Наверх | Cообщить модератору

43. "Релиз языка программирования Perl 5.24.0"  +/
Сообщение от коро (?), 10-Май-16, 19:38 
Это я читал уже пару дней назад, но на сколько я понял в 5.24 всё осталось по старому. Да и баг 125349 всё ещё открыт.
Здесь в irc народ пишет, что RURBAN запилил патч для coro и выпустил свою версию (https://metacpan.org/release/RURBAN/Coro-6.4801), которая, вроде, полностью рабочая.
Ответить | Правка | Наверх | Cообщить модератору

47. "Релиз языка программирования Perl 5.24.0"  +1 +/
Сообщение от chinarulezzz (ok), 10-Май-16, 21:08 
Прочитал это http://blogs.perl.org/users/aristotle/2016/05/coro-vs-5022.html

Чщорд, ты прав. Посыпаю голову пеплом.

Ответить | Правка | Наверх | Cообщить модератору

51. "Релиз языка программирования Perl 5.24.0"  +/
Сообщение от коро (?), 10-Май-16, 22:07 
> Прочитал это http://blogs.perl.org/users/aristotle/2016/05/coro-vs-5022.html

О! Спасибо, что напомнили про этот линк, а то я отложил это в закладки и уже забыл про него)

Ответить | Правка | Наверх | Cообщить модератору

52. "Релиз языка программирования Perl 5.24.0"  +/
Сообщение от chinarulezzz (ok), 10-Май-16, 22:17 
Открыл для себя фичу metacpan:

https://metacpan.org/diff/file?target=RURBAN%2FCoro-6.4...

Ответить | Правка | Наверх | Cообщить модератору

62. "Релиз языка программирования Perl 5.24.0"  +1 +/
Сообщение от Andrey Mitrofanov (?), 11-Май-16, 20:06 
> Открыл для себя фичу metacpan:
> https://metacpan.org/diff/file?target=RURBAN%2FCoro-6.4...

Какой уродливый :D   git log --decorate -p -1 -stat
Прямо вебдваноль какой-то
Там, поди, ещё и SVN унутре!?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру