All pastes #898078 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-10 01:31 UTC
rendered paste body
#include "lab2-api.h"

main (int argc, char *argv[]) {
  sem_t nSem, oSem, n2Sem, o2Sem, no2Sem, o3Sem;
  char szn,
       szo,
       szt,
       sznSem[10],
       szoSem[10],
       szn2Sem[10],
       szo2Sem[10],
       szno2Sem[10],
       szo3Sem[10];

  int n = 0,
      o = 0,
      t = 0;

  switch (argc) {
    case 4:
      n = dstrtol(argv[1], NULL, 10);
      o = dstrtol(argv[2], NULL, 10);
      t = dstrtol(argv[3], NULL, 10);
      Printf("N: %d\nO: %d\nT: %d\n", n, o, t);
      break;
    default:
      Printf("Usage: ");
      Printf(argv[0]);
      Printf("<N_atoms> <O_atoms> <Temp>\n");
      exit ( );
  }

  nSem = sem_create(0);
  oSem = sem_create(0);
  n2Sem = sem_create(0);
  o2Sem = sem_create(0);
  no2Sem = sem_create(0);
  o3Sem = sem_create(0);

  ditoa(t, szt);
  ditoa(n, szn);
  ditoa(o, szo);
  ditoa(nSem, sznSem);
  ditoa(oSem, szoSem);
  ditoa(n2Sem, szn2Sem);
  ditoa(o2Sem, szo2Sem);
  ditoa(no2Sem, szno2Sem);
  ditoa(o3Sem, szo3Sem);

  process_create("n.dlx.obj", szn, sznSem, NULL);
  process_create("o.dlx.obj", szo, szoSem, NULL);
  process_create("n2.dlx.obj", sznSem, szn2Sem, NULL);
  process_create("o2.dlx.obj", szoSem, szo2Sem, NULL);
  process_create("o3.dlx.obj", szo2Sem, szo3Sem, szno2Sem, szt, NULL);
  process_create("no2.dlx.obj", szn2Sem, szo2Sem, szno2Sem, szt, NULL);
}