169 похожих чатов

Подскажите, как атомарно реализовать dup2? При закрытии newfd и открытии

нового файлового дескриптора, по идее, могут возникнуть неприятности (состояние гонки). Да и не всегда newfd является минимальным файловым дескриптором, так что fcntl не подходит.

10 ответов

37 просмотров

ничего решительно неясно. атомарно реализовать где? почему это нужно реализовать? какая платформа, что вообще ты делаешь, зачем?

Чем тебе не подошло просто мьютекс на операцию повесить?

Елизавета- Автор вопроса
The Zazaeil
ничего решительно неясно. атомарно реализовать где...

В книге Linux API Исчерпывающее руководство дано такое задание. Платформа Linux.

Елизавета- Автор вопроса
Vlad Doc
Чем тебе не подошло просто мьютекс на операцию пов...

Просто до мьютексов главы ещё не дошли, так что я их пока не могу использовать, по идее.

Елизавета
В книге Linux API Исчерпывающее руководство дано т...

а что ты хочешь атомарно сделать? что конкретно это означате?

Елизавета- Автор вопроса
The Zazaeil
а что ты хочешь атомарно сделать? что конкретно эт...

Закрыть newfd и связать тот дескриптор файла, который он удерживал, с oldfd.

Елизавета
Закрыть newfd и связать тот дескриптор файла, кото...

так поэтому это и системный вызов — потому что из юзерспейса сделать это атомарно — невозможно.

The Zazaeil
так поэтому это и системный вызов — потому что из ...

ты можешь пытаться брать какую-то блокировку, которая будет гарантировать сериализацию — таким фашистким способом решать проблемы всегда можно (но не нужно).

Елизавета
Спасибо за ответ.

обращайся если надо :)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта