Archived
1
0
Fork 0
This repository has been archived on 2026-05-10. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
dlight/lockfile.h
Henrik Hautakoski 697d512ea6 lockfile: Remove force parameter from hold_lock()
If user wants to 'force' a lock, he/she will have to remove the file
manually. some wierd race conditions may happen if different processes optains the
same lock at any given time (thats why lockfile is implemented in the first place)
So lockfile API should not in any circumstances directly provide a way to force taking a lock.
2013-10-17 15:57:42 +02:00

42 lines
1.3 KiB
C

/* lockfile.h
*
* Copyright (C) 2011 Henrik Hautakoski <henrik@fiktivkod.org>
* Copyright (C) 2005 Junio C Hamano
*
* Based on lockfile.h from Git.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifndef LOCKFILE_H
#define LOCKFILE_H
struct lockfile {
struct lockfile *next;
int fd;
char name[4096];
};
#define LOCKFILE_INIT { 0, -1, { 0 } }
#define is_locked(x) ((x)->fd >= 0)
int hold_lock(struct lockfile *lock, const char *filename);
int commit_lock(struct lockfile *lock);
int release_lock(struct lockfile *lock);
#endif /* LOCKFILE_H */