Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 12:34   #1
Алекс...)))
 
Регистрация: 04.02.2009
Сообщений: 9
По умолчанию Организация работы с семафорами в UNIX

Написать, откомпилировать и запустить на выполнение 2 программы. Первая должна вывести сообщение "Hello word!" после пяти запусков второй программы. Вторая должна выводить количество запусков самой себя.

1 программа "1a.c":
Код:
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
   int semid; 
   char pathname[] = "1a.c"; 
   key_t key; 
   struct sembuf mybuf; 
   if((key = ftok(pathname,0)) < 0){
      printf("Can\'t generate key\n");
      exit(-1);
   }
   if((semid = semget(key, 1, 0666 | IPC_CREAT)) < 0){
      printf("Can\'t get semid\n");
      exit(-1);
   }
   mybuf.sem_op = -1;
   mybuf.sem_flg = 0;
   mybuf.sem_num = 0;
   if(semop(semid, &mybuf, 1) < 0){
      printf("Can\'t wait for condition\n");
      exit(-1);
   }
   printf("Helo word\n");
   return 0;
}
2 программа "1b.c ":
Код:
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
   int semid; 
   char pathname[] = "1a.c"; 
   key_t key;  
   struct sembuf mybuf;
      if((key = ftok(pathname,0)) < 0){
      printf("Can\'t generate key\n");
      exit(-1);
   }
      if((semid = semget(key, 1, 0666 | IPC_CREAT)) < 0){
      printf("Can\'t get semid\n");
      exit(-1);
   }
    mybuf.sem_op = 1;
   mybuf.sem_flg = 0;
   mybuf.sem_num = 0;
   if(semop(semid, &mybuf, 1) < 0){
      printf("Can\'t wait for condition\n");
      exit(-1);
   }
   printf("Zapusk...       \n");
   return 0;
}
Что я не так ввел что она не работает правильно? помогите пожалуйста..............
Алекс...))) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация работы потоков zver777 Общие вопросы Delphi 1 08.02.2010 01:21
Организация работы между портами Terran Работа с сетью в Delphi 2 16.01.2009 15:40
OC UNIX Snickers Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 23 06.12.2008 02:26
Правильная организация класса для работы с таблицей mysql Choo PHP 10 08.08.2008 08:55