lukasz.proszek.info

Powrót do listy plików

sem.c

#include "sem.h"

int
main (int argv, char *argc[])
{
  int s;
  pid_t pid;
  int czas;
  s=atoi(argc[1]);
  //printf("[iii] identyfikator semafora [%i]",s);
      pid = getpid ();
      printf ("\n[>>>][%i] nastąpi próba wejścia do sekcji krytycznej",pid);
      printf("\t wartość semafora [%i]\t\t czekających [%i]",sem_val(s),sem_ile(s));
      P (s, pid); 
      //printf ("\n[iii] krytyczna-początek");//początek sekcji krytycznej
      sleep (czas = opoznienie ());
     // printf("\n[iii] krytyczna-koniec");
      V (s, pid); //koniec sekcji krytyczej

  return 0;
}


int
opoznienie ()
{
  int czas = (5.0 * rand () / (RAND_MAX + 1.0));
  //printf("%i\n",czas);
  return czas;
}

składania pokolorowana przez Code2HTML, v. 0.9.1