Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jan 1998 17:30:00 +0900
From:      Yamauchi Koji <yama-ko@mx2.nisiq.net>
To:        "'questions@freebsd.org'" <questions@FreeBSD.ORG>
Subject:   I cannot excute semaphore parogram.
Message-ID:  <01BD2A8D.AF7B7160@d27.tsu-usr1.nisiq.net>

next in thread | raw e-mail | index | archive | help
Hello! I'm Koji Yamauchi in Japan.
I make semaphore pragram.

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ipc.h>
#include <sys/sem.h>

#define BUF_MAX  64

main( argc, argv )
int  argc;
char *argv[ ];
{
  int i, nread, semid;
  short sem_op;
  struct sembuf sops;
  char buf[ BUF_MAX ];

  if( (semid = semget(100,1,
		      IPC_CREAT | 0600)) == -1 ){
    printf("Error\n");
    exit( 1 );
  }

  while( 1 ){
    write( 1, "-->", 4 );
    if( (nread = read(0, buf, sizeof( buf ))) == -1 ){
      printf("Error\n");
      exit( 1 );
    }
    
    if( buf[0] == 'q' )
      break;

    for( i=0; i < nread ;i++ ){
      if( buf[i] == '\n' ){
	buf[i] = '\0';
	break;
      }
    }

    sem_op = atoi( buf );

    sops.sem_num = 0;
    sops.sem_op = sem_op;
    sops.sem_flg = 0;
    
    if( semop(semid, &sops, 1) == -1 ){
      printf("Error\n");
      exit( 1 );
    }
  }
  exit( 0 );
}


# gcc -o sem1 sem1.c
#./sem1
Bad System Call ( core dumped )
Jan 26 12:50:26 myname /kernel: cmd sem1 pid 208 tired to use non-present SYSVSEM
Jan 26 12:50:26 myname /kernel: cmd sem1 pid 208 tired to use non-present SYSVSEM
#

Why can I excute this program. Please tell me.
Thank you for reading my E-mail.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01BD2A8D.AF7B7160>