Описание тега posix-api

2 ответа

Программа Thread в Linux (Тема Posix)

Я хочу изменить многопоточную программу в операционной системе Linux, используя этот Pthread API. #include <pthread.h> #include <stdio.h> int sum; void *runner(void *param); int main(int argc, char *argv[]) { pthread_t tid pthread_attr_t…
25 фев '19 в 03:27
1 ответ

Группировка при использовании regexec

У меня есть строка ввода, как 051916.000, Я хотел бы отделить 05, 19, 16 а также 000, Я пытаюсь использовать regexec таким образом, на языке Си. regex_t r; regmatch_t pmatch[4]; char* pattern = "/([0-9]{2})([0-9]{2})([0-9]{2})\\.(.*)"; int status = …
23 апр '16 в 05:53
1 ответ

Как мне установить группу процессов терминала переднего плана для процесса, который я запускаю под pty?

Я написал простой скрипт-обертку для повторения команд, когда они терпят неудачу, с именем retry.py. Однако, поскольку я хочу увидеть вывод дочерней команды, мне пришлось использовать некоторые хитрости pty. Это работает нормально для таких программ…
04 мар '13 в 11:40
1 ответ

O_NONBLOCK устанавливает свойство дескриптора файла или базового файла?

Из того, что я читал на сайте Open Group на fcntl, open, read, а также write Складывается впечатление что ли O_NONBLOCK устанавливается в дескрипторе файла, и, следовательно, используется ли неблокирующий ввод-вывод с дескриптором, должно быть свойс…
22 май '10 в 21:53
2 ответа

C PF_PACKET Обработка канального уровня

Я пытаюсь выяснить структуру данных, которая хранится в "буфере" после следующего: sock=socket(PF_PACKET, SOCK_RAW, htons(ETHERTYPE_IP)); recvfrom(sock, buffer, 2048, 0, NULL, NULL); Я хотел бы иметь возможность проникнуть в структуру данных и читат…
02 янв '12 в 01:24
1 ответ

Быстрое вычисление параллельной суммы металла массива на iOS

Основываясь на ответе@Kametrixom, я сделал несколько тестовых приложений для параллельного вычисления суммы в массиве. Мое тестовое приложение выглядит так: import UIKit import Metal class ViewController: UIViewController { // Data type, has to be t…
06 июл '16 в 19:53
1 ответ

Где хранится содержимое очереди сообщений?

При использовании очередей сообщений POSIX я заметил, что в файловой системе создавалось несколько файлов с именем, которым я создавал очереди. Мои вопросы: Q1. Очереди сообщений ставят в очередь сообщения на жестком диске, а не в ОЗУ? Q2. Если так,…
27 фев '13 в 15:29
1 ответ

Почему sem_t 32 байта в 64-битной Linux?

sem_t в 64-битном linux составляет 32 байта, но с реализацией futex 8 байтов достаточно ( glibc sem_post), это правда? если это правда, зачем делать это тратить байты? На самом деле я хочу использовать пользовательскую реализацию семафора, которая и…
10 окт '12 в 05:46
2 ответа

Принудительно блокировать чтение после EAGAIN?

У меня есть файловый дескриптор, который открыт для чтения, который может быть неблокирующим. Что мне нужно сделать, это просто прочитать все данные до достижения EOF и записать эти данные в дескриптор файла для записи. Поскольку процесс, выполняющи…
21 май '10 в 23:18
2 ответа

Perror потокобезопасен?

Я знаю, что errno является потокобезопасным. А в Linux есть еще 2 аналогичные функции, а именно strerror и strerror_r. По книге Linux System Programming Роберт Ловер, strerror не является потокобезопасным, но strerror_r является. Поэтому мне интерес…
22 июл '14 в 23:29
2 ответа

Тупик с использованием именованного семафора

Я пробую свой первый запуск с общей памятью и именем семафора для синхронизации доступа к нему. В моей программе было 3 процесса - родительский и два дочерних, все они должны использовать одну и ту же общую память. для синхронизации между ними я исп…
29 июн '16 в 14:23
2 ответа

Почему POSIX API не имеет функции конца файла?

В API POSIX read() возвращает 0, чтобы указать, что достигнут конец файла. Почему нет отдельной функции, которая говорит вам, что read() вернет ноль - не требуя от вас на самом деле позвонить read()? Причина запроса: так как вам нужно позвонить read…
14 янв '12 в 03:24
1 ответ

Есть ли способ вызова функций POSIX, которые добавляют / записывают в файл, такой как "<" и "<<" в префиксе, в отличие от метода инфикса?

Я использую оболочку Google Chrome d8 версии 3.7.7 для запуска приложения JavaScript, которое я написал для него и в котором мне нужно создать / записать файл. Кажется, что единственный способ сделать ввод / вывод - это использовать os.system("progr…
23 янв '12 в 15:58
4 ответа

POSIX API и принципы разработки SOLID

Хотя принципы проектирования SOLID в основном применяются к объектно-ориентированным системам, существуют некоторые концепции SOLID, которые можно применять к процедурному программированию, такие как SRP или DIP. Но когда я изучил некоторые функции,…
19 янв '18 в 13:09
0 ответов

iOS opendir("/Library") Операция не разрешена

Разрешение каталогов следующее: /Applications d rwxrwxr-x root admin /Library d rwxrwxr-x root admin /private d rwxr-xr-x root wheel opendir("/Applications") это работает хорошо opendir("/Library") операция не разрешена opendir("/private") операция …
29 дек '15 в 11:08
1 ответ

Таймер зависает через некоторое время

Я запускаю следующую программу, которая реализует таймер. Когда поток просыпается после получения сигнала по условной переменной от предыдущего запущенного потока, он создает таймер и отправляет сигнал следующему потоку по истечении таймера. Я хочу,…
22 фев '16 в 14:35
1 ответ

Как я могу узнать, какие системные вызовы вызвали POSIX API в Linux?

Я знаю, что это может вызвать один или несколько системных вызовов для реализации API POSIX в Linux, но как узнать, какие системные вызовы будут вызываться для конкретного API POSIX, такого как memcpy или любой другой POSIX API?
12 дек '17 в 02:41
7 ответов

Нужен ли внешний блок "C" для включения стандартных заголовков C?

Нужен ли мне extern "C" {} блок для включения стандартных заголовков C в программу C++. Рассмотрим только стандартные заголовки C, которые не имеют аналогов в C++. Например: extern "C" { #include &lt;fcntl.h&gt; #include &lt;unistd.h&gt; }
10 ноя '11 в 22:46
0 ответов

Есть ли случаи, когда запись в доменные сокеты блокируется вечно?

У меня есть многопроцессный проект, и я использую доменные сокеты в качестве метода IPC. Например, процесс A имеет несколько потоков и вызывает функцию "записи" для отправки данных процессу B. (Все функции сокета домена защищены семафором.) Когда си…
0 ответов

Получить значение счетчика ссылок (значение счетчика использования файла) для файла по дескриптору?

В Linux возможно ли получить значение счетчика ссылок (значение счетчика использования файла) для указанного файла по дескриптору с помощью неядерного API?
20 фев '13 в 09:00