/* * Copyright (C) 1999 Miquel van Smoorenburg * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * On Debian GNU/Linux systems, the complete text of the GNU Library * General Public License can be found in `/usr/doc/copyright/LGPL'. * You can also find a copy on the GNU website at http://www.gnu.org/
*/
#pragma once
#ifdef __cplusplus extern"C" { #endif
/* * Prototypes.
*/ int lockfile_create(constchar *lockfile, int retries, int flags); int lockfile_remove(constchar *lockfile); int lockfile_touch(constchar *lockfile); int lockfile_check(constchar *lockfile, int flags);
/* * Return values for lockfile_create()
*/ #define L_SUCCESS 0/* Lockfile created */ #define L_NAMELEN 1/* Recipient name too long */ #define L_TMPLOCK 2/* Error creating temp lockfile */ #define L_TMPWRITE 3/* Can't write pid into temp lockfile */ #define L_MAXTRYS 4/* Failed after max. number of attempts */ #define L_ERROR 5/* Unknown error; check errno */ #define L_MANLOCK 6/* Cannot set mandatory lock on tempfile */ #define L_ORPHANED 7/* Called with L_PPID but parent is gone */ #define L_RMSTALE 8/* Failed to remove stale lockfile */
/* * Flag values for lockfile_create()
*/ #define L_PID 16/* Put PID in lockfile */ #define L_PPID 32/* Put PPID in lockfile */
/* * Experimental.
*/ struct lockargs_s_ { int interval; /* Static interval between retries */
}; #define L_INTERVAL_D_ 64/* Specify consistent retry interval */ #ifdef LOCKFILE_EXPERIMENTAL #define lockargs lockargs_s_ #define L_INTERVAL L_INTERVAL_D_ int lockfile_create2(constchar *lockfile, int retries, int flags, struct lockargs *args, int args_sz); #endif
#ifndef LIB int check_sleep(int, int); #endif int is_maillock(constchar *lockfile); int lockfile_create_set_tmplock(constchar *lockfile, volatilechar **tmplock, int retries, int flags, conststruct lockargs_s_ *);
#ifdef __cplusplus
} #endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-06-06)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.