view common/linuxlockfile.h @ 1072:1e429faf7c84

(issue46) Default to debug output on if RELEASE_BUILD is not defined
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 10 Sep 2014 17:53:32 +0200
parents 78798d3af8f0
children a974b61a5cce
line wrap: on
line source
/**
 * @file  linuxlockfile.h
 * @brief Linux specific functions for lock file handling.
 * @details Functions to handle procsss specific lock files, these are
 * only used on GNU Linux as on windows different mechanisms are
 * utilized to ensure only a single instance runs at a time.
 */

#ifndef LINUXLOCKFILE_H
#define LINUXLOCKFILE_H

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief create a lockfile
 * @details create and lock a lockfile containing the pid of the
 * current process.  fcntl is used for locking, to work in most cases
 * (e.g. NFS).
 * @param[in] path to the lockfile
 * @returns the file descriptor of the lockfile or -1 on error
 */
int open_lockfile(char *path);

/**
 * @brief close a lockfile
 * @details unlock and close a lockfile for the given file descriptor.
 * @param[in] fd TODO
 * @returns the file descriptor of the lockfile or -1 on error
 */
void close_lockfile(int fd);

#ifdef __cplusplus
}
#endif

#endif

http://wald.intevation.org/projects/trustbridge/