Size: a a a

2021 January 31

AP

Anton Petrusevich in Modern::Perl
это очевидное поведение?
источник

OP

Oleg Pronin in Modern::Perl
Да
источник

AP

Anton Petrusevich in Modern::Perl
окей... но, вообще, это не мой пример, я подробности не помню
источник

OP

Oleg Pronin in Modern::Perl
На деструкторе исключение это кабздец рантайму
источник

OP

Oleg Pronin in Modern::Perl
перл «сьедат его»
источник

OP

Oleg Pronin in Modern::Perl
Иначе утечки будут и он не сможет очистить переменные
источник

OP

Oleg Pronin in Modern::Perl
Ты хотел привести пример где после евала в котором был эксепшен, ничего нет в $@ ?
источник

AP

Anton Petrusevich in Modern::Perl
да
источник

AP

Anton Petrusevich in Modern::Perl
и там именно про эксепшены в деструкторах было
источник

OP

Oleg Pronin in Modern::Perl
А ты их вообще не перехватишь евалом, я как раз ссылку привел что нет никакого эксепщена в итоге
источник

OP

Oleg Pronin in Modern::Perl
Внутри самого destroy только можешь перехватить а выше нет
источник

AP

Anton Petrusevich in Modern::Perl
там было как-то что десктрукторы случались именно изза эксепшена
источник

AP

Anton Petrusevich in Modern::Perl
и в результате в деструкторах тоже были эксепшены...
источник

AP

Anton Petrusevich in Modern::Perl
Шишкина рассказывала про это.
источник

OP

Oleg Pronin in Modern::Perl
До перла 5.14 новый евал в процессе обработки эксепшена сбрасывал ошибку. Но после ее локализовали и все ок. Но поведение деструкторов другое. До перла 5.14 ошибка в деструкторе попадала в переменную, а после она не попадает никуда.

https://perlbanjo.com/db539dea0b
источник

OP

Oleg Pronin in Modern::Perl
Антон вот твоя проблема - будет до перла 5.14 если деструктор евалит.

https://perlbanjo.com/85c618e04e
источник

AP

Anton Petrusevich in Modern::Perl
Oleg Pronin
Антон вот твоя проблема - будет до перла 5.14 если деструктор евалит.

https://perlbanjo.com/85c618e04e
ага, она
источник

OP

Oleg Pronin in Modern::Perl
Ну начиная с 5.14 похоже можно забыть обо всем этом.
источник

AP

Anton Petrusevich in Modern::Perl
угу
источник
2021 February 01

И

Игорь in Modern::Perl
Коллеги, кто-нибудь ставил Perl::LanguageServer на винду?

Пробую ставить и спотыкаюсь на установке зависимости IO::AIO
In file included from AIO.xs:1:0:
libeio/xthread.h:37:21: фатальная ошибка: pthread.h: No such file or directory
#include <pthread.h>
                    ^
компиляция прервана.


Гугл говорит что pthread.h - это заголовок API Unix / Linux (POSIX) для потоков. И чтобы его использовать, можно попробовать запустить сборку в Cygwin.

Я, к сожалению, не очень понимаю в сборку сишного кода. На винде стоит Strawberry Perl, в его комплект входит MinGW, который по идее должен решать проблему если бы знал где взять pthread.h.

Может кто-нибудь подсказать, я могу использовать Strawberry Perl на винде или он слишком сырой и лучше брать perl из Cygwin?

Если можно обойтись Strawberry Perl, то где взять pthread.h и куда его положить чтобы он подцепился (если вообще бывает совместимый с виндой).
источник