view common/linuxlockfile.h @ 1092:02fd9992ccc9

Added tag 0.9.2 for changeset 0ae3c99b82ee
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 12 Sep 2014 16:11:08 +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/