Home | History | Annotate | Download | only in nfslock01
      1 /*
      2  * This program starts processes one and two simultaneously.
      3  */
      4 
      5 #include <stdio.h>
      6 #include <stdlib.h>
      7 #include <string.h>
      8 #include <unistd.h>
      9 #include <errno.h>
     10 #include <sys/types.h>
     11 #include <sys/wait.h>
     12 
     13 int main(int argc, char **argv)
     14 {
     15 	pid_t pid;
     16 	char *Prog;
     17 
     18 	if (argc != 3) {
     19 		fprintf(stderr, "Usage: %s <process> <datafile>\n", argv[0]);
     20 		exit(2);
     21 	}
     22 
     23 	Prog = strrchr(argv[1], '/');
     24 	Prog++;
     25 
     26 	if ((pid = fork()) < 0) {
     27 		printf("Failed in forking, Errno = %d", errno);
     28 		exit(2);
     29 	} else if (pid == 0) {	/* child */
     30 		execl(argv[1], Prog, "0", argv[2], NULL);
     31 	} else {		/* parent */
     32 		execl(argv[1], Prog, "1", argv[2], NULL);
     33 	}
     34 
     35 	/*if (waitpid(pid, NULL, 0) != pid)
     36 	   printf("Failed in waitpid, Errno = %d", errno);
     37 	 */
     38 	exit(0);
     39 }
     40