2 ** Copyright 1998 - 2014 Double Precision, Inc. See COPYING for
3 ** distribution information.
11 #include "lockflock.c"
14 #include "locklockf.c"
23 #define FILENAME "courier-imap.locktest.XXXXXXXXXX"
31 if ((tmpdir
= (char *)getenv("TMPDIR")) == NULL
|| !*tmpdir
)
34 if ((name
=malloc(strlen(tmpdir
)+sizeof(FILENAME
)+1)) == NULL
)
36 perror("get filename");
40 (void)sprintf(name
, "%s/%s", tmpdir
, FILENAME
);
42 signal(SIGCHLD
, SIG_DFL
);
49 if ((f
=mkstemp(name
)) < 0)
55 if ((p
=fork()) == (pid_t
)-1)
69 if ((f
=open(name
, O_RDWR
)) < 0)
76 if (ll_lockfd(f
, ll_writelock
, 0, 0))
86 if (ll_lockfd(f
, ll_writelock
, 0, 0))