Re: [PATCH] Better error message when we are unable to lock the index file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Aug 12, 2006 at 01:03:47AM -0700, Junio C Hamano wrote:
> Fredrik Kuivinen <freku045@xxxxxxxxxxxxxx> writes:
> 
> > diff --git a/builtin-update-index.c b/builtin-update-index.c
> > index 24dca47..f8f5e10 100644
> > --- a/builtin-update-index.c
> > +++ b/builtin-update-index.c
> > @@ -493,7 +493,7 @@ int cmd_update_index(int argc, const cha
> >  
> >  	newfd = hold_lock_file_for_update(lock_file, get_index_file());
> >  	if (newfd < 0)
> > -		die("unable to create new cachefile");
> > +		die("unable to lock index file: %s", strerror(errno));
> 
> Looking at output from:
> 
> 	$ git grep -A 3 hold_lock_file_for_update
> 
> I wonder if it might be more consistent to do something like
> this instead.  It removes more lines than it adds ;-).

Looks good, one small comment below.

> diff --git a/lockfile.c b/lockfile.c
> index 2346e0e..a5ea49b 100644
> --- a/lockfile.c
> +++ b/lockfile.c
> @@ -22,7 +22,7 @@ static void remove_lock_file_on_signal(i
>  	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 +41,14 @@ int hold_lock_file_for_update(struct loc
>  	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 new index file");

Could we have (something like)

    die("unable to lock index file: %s", strerror(errno));

here instead?

> +	return fd;
> +}
> +
>  int commit_lock_file(struct lock_file *lk)
>  {
> 	char result_file[PATH_MAX];

- Fredrik

-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]