Re: devuan
On Fri, Sep 29, 2023 at 12:53:28PM +0400, Maksim Dmitrichenko wrote:
> пт, 29 сент. 2023 г. в 12:37, Eugene Berdnikov <[1]bd4@protva.ru>:
>
> > Потому как любое
> > действие, затрагивающее libc, грозит разносом стэка, и вообще во время
> > обработки сигнала сплошь минные поля. А когда из сигхэндлера вернулся,
> > нужно как-то мониторить тот факт, что тебе пришёл сигнал, т.е. рядом
> > с poll/select будет ещё вычитывание той переменной, с флагом.
>
> Это тоже не совсем так. Во-первых, man 7 signal-safety содержит список
> async signal safe функций, которые можно дергать из обработчика сигнала.
Ну так наличие схемы раскладки мин не отменяет сам факт наличия минного
поля, а также риска подорваться на нём. Прозевать мину тут легче лёгкого.
> Во-вторых, трюк с глобальным флагом - он так себе, обычно либо в пайп
> писали из обработчика сигнала, который ждали на том самом select'е (и
Запись в пайп это сисколл, а потому очень долго и неэффективно. Повторю:
сигналы хороши там, где нужна быстрая реакция, в самые горячих точках кода.
Если это не нужно, то poll/select намного проще. Тут мы расходимся во
взглядах с А.Мельниковым.
--
Eugene Berdnikov
Reply to:
- Follow-Ups:
- Re: devuan
- From: Maksim Dmitrichenko <dmitrmax@gmail.com>
- References:
- Re: devuan
- From: "Andrey Jr. Melnikov" <temnota.am@gmail.com>
- Re: devuan
- From: Max Nikulin <manikulin@gmail.com>
- Re: devuan
- From: "Andrey Jr. Melnikov" <temnota.am@gmail.com>
- Re: devuan
- From: Eugene Berdnikov <bd4@protva.ru>
- Re: devuan
- From: Maksim Dmitrichenko <dmitrmax@gmail.com>