home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume22 / auth-utils / part01 / util / flock.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-29  |  518 b   |  25 lines

  1. /* flock version 1.0, 4/20/90. */
  2.  
  3. #include <sys/file.h>
  4. #ifdef BSD
  5. #include <limits.h>
  6. #endif
  7. #include <stdio.h>
  8.  
  9. main(argc,argv)
  10. int argc;
  11. char *argv[];
  12. {
  13.  int fd;
  14.  
  15.  if (argc < 2)
  16.    { fputs("Usage: flock filename program [ arg ... ]\n",stderr); exit(1); }
  17.  if ((fd = open(argv[1],O_RDONLY)) == -1)
  18.    { perror("flock: fatal: cannot open"); exit(2); }
  19.  if (flock(fd,LOCK_EX) == -1)
  20.    { perror("flock: fatal: cannot flock"); exit(3); }
  21.  execvp(argv[2],argv + 2);
  22.  perror("flock: fatal: cannot execute");
  23.  exit(4);
  24. }
  25.