Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 30.05.2016
Сообщений: 3

Открытие семафора возвращает 0

17.10.2020, 15:06. Показов 1015. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    
        char* cath="/cath";
    char* cathFlag="/cathf";
    char* hyp="/hyp";
    char* hypFlag="/hypf";
 
    printf("SEMS OPEN\n");
    sem_t *csem = sem_open(cath, O_CREAT, 0777, 0);
    printf("CSEM: %d\n", *csem);
    perror("ERROR: ");
    sem_t *cfsem = sem_open(cathFlag, O_CREAT, 0777, 0);
    sem_t *hsem = sem_open(hyp, O_CREAT, 0777, 0);
    sem_t *hfsem = sem_open(hypFlag, O_CREAT, 0777, 0); 
    printf("SEMS OPENED\n");
sem_open возвращает 0, perror пишет Success, семафор не открывается. Полистав sem_overview, увидел, что проблема может быть в названии без слэша в начале, добавление не помогло. Доступа к семафору нет, при вызове sem_post вылетает segmentation fault. Помогите понять в чем проблема.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2020, 15:06
Ответы с готовыми решениями:

Освобождение семафора
Проблема такая. По заданию нужно сделать 2 приложения. Одно создаёт события и реагирует на то, что экземпляр другой проги его активирует....

Создание семафора
Запускаю код на одной машине все работает, на другой выдает ошибку "Error: can't init semaphore." Ошибка возникает при открытии...

Превышен таймаут семафора
Здох диск. Разбит на два логических Первый (с системой) говорит, что превышен таймаут семафора. Второй вообще не отзывается. Что...

2
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
17.10.2020, 19:04
Попробуй перенести perror перед printf, который успешно пишет в stdout (потому и "perror пишет Success")
0
 Аватар для peter_irich
367 / 223 / 53
Регистрация: 18.10.2017
Сообщений: 2,391
19.10.2020, 21:00
Я вот не люблю таких конструкций, как
C
1
char *name="name";
предпочитаю заводить массив, это надёжнее.
C
1
2
char name[8];
strcpy(name,"name");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2020, 21:00
Помогаю со студенческими работами здесь

Превишен таймаут семафора
Всем привет! Quad 6600,Nvidia 680 i SLi,Жесткий диск WDC WD15 1.5 терабайт,разбит на 3 раздела! При копировании с одного раздела на...

Превышен таймаут семафора
Ошибка 0x80070079 (Превышен таймаут семафора) в Windows 10 при создании образа системы.

Прогон примера с использованием семафора
Не работает программа на терминале Linux. Подскажите) /* Программа 08-1a.c для иллюстрации работы с семафорами */ /* Эта...

Работа семафора в разных процессах
Процессы: Reder и несколько Sender'ов Собственно, есть семафор который управляет доступом к файлу... Реализован он в Reder'e и нужно...

Реализация семафора в ядре Linux
SUSE Linux 11.1 ядро 2.6.27.7-9 * интересует где находится реализация семафора и как подлючить при написании программы ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru