Size: a a a

2021 May 01

c

codingteam@cjr in codingteam
sergevp
А как это поможет? Какая разница ловим мы этот сигнал через sigaction+write+select или через sigtimedwait?
источник

c

codingteam@cjr in codingteam
Minoru
sigaction глобален, он сработает в любом треде и оповестит select. А sigtimedwait ждёт только в одном треде, и если SIGCHLD прилетит не к нему, он так и будет ждать аж до окончания таймаута. А другой тред поймает SIGCHLD и применит к нему default disposition, то есть, в данном случае, проигнорирует
источник

c

codingteam@cjr in codingteam
Minoru
> sigaction глобален, он сработает в любом треде и оповестит select.

в любом треде, который не заблокировал SIGCHLD
источник

c

codingteam@cjr in codingteam
sergevp
Minoru: Таки да. "Signal handlers are per-process, but signal masks are per-thread"
источник

c

codingteam@cjr in codingteam
sergevp
Хотя всё равно через семафор было бы проще. Наверняка в расте есть для этого какой-нибудь встроенный тип...
источник

c

codingteam@cjr in codingteam
Minoru
думаю, что с семафорами невозможно, потому что wait-timeout использует self-pipe trick дважды: один пайп для сигналов, пойманных текущим тредом, а второй — для сигналов, пойманных другими тредами
источник

c

codingteam@cjr in codingteam
Minoru
я же не могу два семафора ждать одновременно?
источник

c

codingteam@cjr in codingteam
Minoru
хотя первый пайп тут похож на костыль
источник

c

codingteam@cjr in codingteam
Minoru
наверное, можно и без него как-то
источник

c

codingteam@cjr in codingteam
Minoru
и, да, в Расте есть https://doc.rust-lang.org/std/sync/struct.Condvar.html
источник

A

Alex Ф-ф-фэils!🌠︙... in codingteam
Кондвар, ох
источник

AO

Alibek a1batross Oma... in codingteam
Кондрат
источник

💮

💮 in codingteam
Кондратура круга.
источник

t

ttldtor in codingteam
Кондратий Круга?
источник

O

Omap in codingteam
какого круга?
источник

O

Omap in codingteam
у вас есть разрешение на кондратирование круга?
источник
2021 May 02

FO

FORTRAN ONE LOVE in codingteam
А не надо держать шареный указатель между всеми потоками :)
источник

FO

FORTRAN ONE LOVE in codingteam
Не надо. Я на фортране пишу и ничего про это не знаю. :)
источник

FO

FORTRAN ONE LOVE in codingteam
Хех. А в фортране аргв можно в заднице узнать. :-)
Удобно!
источник

FO

FORTRAN ONE LOVE in codingteam
Утро v0.1.1-20210501!
источник