aboutsummaryrefslogtreecommitdiffstats
path: root/modules/cron/manifests
Commit message (Expand)AuthorAgeFilesLines
* make puppet-lint happyMichael Scherer2012-02-091-3/+3
* clean cron moduleMichael Scherer2012-01-161-2/+1
* add a cronjob to make sure cronie is started on all nodesMichael Scherer2011-08-231-0/+8
t>
path: root/mdk-stage1/dietlibc/lib/lockf.c
blob: 2b1d004ef4d357eec621cfc125cc8e94e4ace1d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>

int lockf(int fd, int cmd, off_t len) {
  struct flock fl;
  fl.l_whence=SEEK_CUR;
  fl.l_start=0;
  fl.l_len=len;
  fl.l_pid=0;
  switch (cmd) {
  case F_TEST:
    if (fcntl(fd,F_GETLK,&fl)<0)
      return -1;
    if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())
      return 0;
    errno=EACCES;
    return -1;
  case F_ULOCK:
    fl.l_type=F_UNLCK;
    cmd=F_SETLK;
    break;
  case F_LOCK:
    fl.l_type = F_WRLCK;
    cmd = F_SETLKW;
    break;
  case F_TLOCK:
    fl.l_type = F_WRLCK;
    cmd = F_SETLK;
    break;
  default:
    errno=EINVAL;
    return -1;
  }
  return fcntl(fd,cmd,&fl);
}