Update packedGit config option documentation.
[gitweb.git] / lockfile.c
index 2346e0e9ef0dbd247daf9d77c373029b491068c4..261baff049cd8b2e4d1b1a269992851eb00b2aa8 100644 (file)
@@ -1,7 +1,6 @@
 /*
  * Copyright (c) 2005, Junio C Hamano
  */
-#include <signal.h>
 #include "cache.h"
 
 static struct lock_file *lock_file_list;
@@ -22,7 +21,7 @@ static void remove_lock_file_on_signal(int signo)
        raise(signo);
 }
 
-int hold_lock_file_for_update(struct lock_file *lk, const char *path)
+static int lock_file(struct lock_file *lk, const char *path)
 {
        int fd;
        sprintf(lk->filename, "%s.lock", path);
@@ -41,6 +40,14 @@ int hold_lock_file_for_update(struct lock_file *lk, const char *path)
        return fd;
 }
 
+int hold_lock_file_for_update(struct lock_file *lk, const char *path, int die_on_error)
+{
+       int fd = lock_file(lk, path);
+       if (fd < 0 && die_on_error)
+               die("unable to create '%s': %s", path, strerror(errno));
+       return fd;
+}
+
 int commit_lock_file(struct lock_file *lk)
 {
        char result_file[PATH_MAX];