Вопросы с тегом «posix»

94
Почему существует SIGPIPE?

Насколько я понимаю, это SIGPIPEможет произойти только в результате a write(), который может (и действительно) вернуть -1 и установить errnoв EPIPE... Итак, почему у нас есть дополнительные накладные расходы на сигнал? Каждый раз, когда я работаю с трубами, я игнорирую SIGPIPEи в результате...

93
Каков статус асинхронного ввода-вывода POSIX (AIO)?

В сети разбросаны страницы, которые описывают возможности POSIX AIO с разной степенью детализации. Ни один из них не совсем недавний. Непонятно, что именно они описывают. Например, на «официальном» (?) Веб-сайте поддержки асинхронного ввода-вывода ядра Linux говорится, что сокеты не работают, но...

91
Преобразование года и месяца (формат «гггг-мм») в дату?

У меня есть набор данных, который выглядит так: Month count 2009-01 12 2009-02 310 2009-03 2379 2009-04 234 2009-05 14 2009-08 1 2009-09 34 2009-10 2386 Я хочу построить данные (месяцы как значения x и считаются как значения y). Поскольку в данных есть пробелы, я хочу преобразовать информацию за...

87
Какова цель fork ()?

Во многих программах и на страницах руководства Linux я видел код, использующий fork(). Зачем нужно использовать fork()и для чего?

86
Как получить указатель на ФАЙЛ из файлового дескриптора?

Я играю с mkstemp(), который предоставляет дескриптор файла, но я хочу генерировать форматированный вывод через fprintf(). Есть ли простой способ преобразовать файловый дескриптор, предоставленный mkstemp()в FILE *структуру, подходящую для использования fprintf()?...

84
System V IPC против POSIX IPC

В чем разница между System V IPCи POSIX IPC? Почему у нас два стандарта? Как решить, какие функции IPC использовать?

12
Почему время, сообщаемое функцией time (), иногда составляет 1 секунду после секундного компонента timespec_get () в коде C?

Следующий фрагмент кода: struct timespec ts; for (int x = 0; x < 100000000; x++) { timespec_get(&ts, TIME_UTC); long cTime = (long) time(NULL); if (cTime != ts.tv_sec && ts.tv_nsec < 3000000) { printf("cTime: %ld\n", cTime); printf("ts.tv_sec: %ld\n", ts.tv_sec);...