Re: devuan
Maksim Dmitrichenko <[email protected]> Fri, 29 Sep 2023 12:53:28 +0400
| Newsgroups | gmane.linux.debian.user.russian |
|---|---|
| Message-ID | <CAMRqRqx2Qe==o7Jk=bFt7T606-onO8sNz43Ankt55uU+xfJGSw@mail.gmail.com> |
пт, 29 сент. 2023 г. в 12:37, Eugene Berdnikov <[email protected]>: > Потому как любое > действие, затрагивающее libc, грозит разносом стэка, и вообще во время > обработки сигнала сплошь минные поля. А когда из сигхэндлера вернулся, > нужно как-то мониторить тот факт, что тебе пришёл сигнал, т.е. рядом > с poll/select будет ещё вычитывание той переменной, с флагом. Это тоже не совсем так. Во-первых, man 7 signal-safety содержит список async signal safe функций, которые можно дергать из обработчика сигнала. Во-вторых, трюк с глобальным флагом - он так себе, обычно либо в пайп писали из обработчика сигнала, который ждали на том самом select'е (и тогда вопрос: нахрена танцы с сигналами, если сразу можно писать в socket?), либо в sem_post делали, который можно делать из обработчкика, но semaphore по старой доброй UNIX-традиции - это либо файл, либо процесс (нет), поэтому его никак не должаться в select/poll. - With best regards Maksim Dmitrichenko