view common/linuxlockfile.h @ 1119:5349e2354c48

(issue54) Merge branch runafterinstall There is now an NSIS Plugin that executes the Software after installation using COM in the shell of the current user. With the way over the shell there is no inheritance / token management required. As it is impossible to drop all privileges of a token granted by UAC and still be able to reelevate the Token again with another RunAs call later this round trip over the Shell was necessary.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 16 Sep 2014 19:48:22 +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/