Size: a a a

2020 June 17

D

Devel29A in codingteam
codingteam@cjr
Minoru
@Devel29A: сегфолт приводит к убийству программы сигналом, в этом случае программа не успевает ничего вернуть. Эту ситуацию по отдельным полям определяют
exit разве не срабатывает? Отличие же лишь в том что SIGKILL нельзя обработать и все
источник

t

ttldtor in codingteam
Matwey Kornilov
и не лепить свой буфер поверх буфера ОС, потому-что он ничем не поможет качественно
у  нас тут лепили как-то и только хуже сделали. Но с другой стороны, буфер нужен при чтении, для обработки. Хотя, тут очередь нужна, если не хочешь ничего потерять
источник

MK

Matwey Kornilov in codingteam
буфер при чтении - да
источник

MK

Matwey Kornilov in codingteam
буфер на запись нужен если у тебя конекшин медленный и с той стороны не успевают всё вычитывать
источник

MK

Matwey Kornilov in codingteam
но если клиент очень медленный - то имеет смысл его просто дропнуть
источник

c

codingteam@cjr in codingteam
Minoru
@pink_snow: баг был. Я код возврата system() сравнивал с -1, и если эта проверка прошла — считал, что это код возврата программы. А на самом деле мне нужно было ещё вызывать WEXITSTATUS, чтобы получить те самые 8 бит
источник

t

ttldtor in codingteam
Matwey Kornilov
буфер на запись нужен если у тебя конекшин медленный и с той стороны не успевают всё вычитывать
у нас какие-то баги были с AWS, когда мы чанками отправляли данные. Хотя, мне так всю историю и не рассказали.
источник

💮

💮 in codingteam
codingteam@cjr
Minoru
@pink_snow: баг был. Я код возврата system() сравнивал с -1, и если эта проверка прошла — считал, что это код возврата программы. А на самом деле мне нужно было ещё вызывать WEXITSTATUS, чтобы получить те самые 8 бит
А -1 чему это соответствовать должно? Exit status 255?
источник

c

codingteam@cjr in codingteam
Minoru
@Devel29A: я не понимаю, что ты имеешь в виду под «exit() срабатывает». Это же не коллбек, чтобы система его вызывала
источник

MK

Matwey Kornilov in codingteam
@fvnever благослови меня
источник

c

codingteam@cjr in codingteam
Minoru
@pink_snow: -1 означал бы, что system() не смог выполниться
источник

💮

💮 in codingteam
А.
источник

D

Devel29A in codingteam
codingteam@cjr
Minoru
@Devel29A: я не понимаю, что ты имеешь в виду под «exit() срабатывает». Это же не коллбек, чтобы система его вызывала
Хм. Надо посмотрет на дизасм
источник

c

codingteam@cjr in codingteam
Minoru
@Devel29A: а то ты там хочешь увидеть? Если ты сам не назначишь обработчик для SIGSEGV, будет обработчик по умолчанию — это «терминировать приложение и сбросить кору»
источник

Dv

Dr. Friedrich von Ne... in codingteam
codingteam@cjr
Minoru
@gsomix: я узнал, что system() возвращает не exit code программы, а составное значение, из которого макросами нужно вытаскивать интересующие биты. Я это прозевал при ревью полгода назад, с тех пор это вылезло как баг, который мы потом случайно пофиксили, переписав код на Rust, но я всё это время развивал бурную деятельность по поиску костылей, чтобы system() не возвращал «странные» ненулевые статусы. Короче, я обосрался как системный программист и как ревьювер
Этого же всё равно нету в стандарте, так что и пофиг 🤷‍♂️
источник

D

Devel29A in codingteam
codingteam@cjr
Minoru
@Devel29A: а то ты там хочешь увидеть? Если ты сам не назначишь обработчик для SIGSEGV, будет обработчик по умолчанию — это «терминировать приложение и сбросить кору»
ПРосто хочу вспомнить все
источник

А⚙

Антон ⚙️ in codingteam
Господи, у вас тут какие-то си-линукс-легаси проблемы
источник

c

codingteam@cjr in codingteam
Minoru
@fvnever: чего нет в стандарте?
источник

Dv

Dr. Friedrich von Ne... in codingteam
Matwey Kornilov
@fvnever благослови меня
Жениться собрался?
источник

А⚙

Антон ⚙️ in codingteam
codingteam@cjr
Minoru
@fvnever: чего нет в стандарте?
Тебя
источник