git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] dir.c: print correct errno when opendir() fails

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 19, 2018, 21:09 UTC
Message-ID
<xmqqa7x9pnda.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20180118095036.29422-1-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy  <pclouds@gmail.com> writes:
Show 9 quoted lines
> The call invalidate_directory() between opendir() and warning_errno() in
> theory could make some system calls and change errno. Prevent that by
> warning immediately after opendir().
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
>  This is on top of nd/fix-untracked-cache-invalidation which is now on
>  'next'. Sorry I waited too long to send the replacement and it's now
>  too late.

Well, we'll see a rewind of 'next' soonish anyway, so you can just tell me to tentatively kick it back to 'pu' to be replaced with a reroll if you prefer.

Show 24 quoted lines
>  dir.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/dir.c b/dir.c
> index dd1e50c328..55736d3e2a 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -1795,14 +1795,14 @@ static int open_cached_dir(struct cached_dir *cdir,
>  		return 0;
>  	c_path = path->len ? path->buf : ".";
>  	cdir->fdir = opendir(c_path);
> +	if (!cdir->fdir)
> +		warning_errno(_("could not open directory '%s'"), c_path);
>  	if (dir->untracked) {
>  		invalidate_directory(dir->untracked, untracked);
>  		dir->untracked->dir_opened++;
>  	}
> -	if (!cdir->fdir) {
> -		warning_errno(_("could not open directory '%s'"), c_path);
> +	if (!cdir->fdir)
>  		return -1;
> -	}
>  	return 0;
>  }
Previous: Nguyễn Thái Ngọc DuyNext: Duy Nguyen
Message 2 of 12 in “dir.c: print correct errno when opendir() fails”
  1. dir.c: print correct errno when opendir() failsNguyễn Thái Ngọc Duy, Jan 18, 2018
  2. Junio C HamanoJan 19, 2018
  3. Duy NguyenJan 21, 2018
  4. 0/5 nd/fix-untracked-cache-invalidation updatesNguyễn Thái Ngọc Duy, Jan 24, 2018
  5. 1/5 status: add a failing test showing a core.untrackedCache bugNguyễn Thái Ngọc Duy, Jan 24, 2018
  6. 2/5 dir.c: avoid stat() in valid_cached_dir()Nguyễn Thái Ngọc Duy, Jan 24, 2018
  7. 3/5 dir.c: fix missing dir invalidation in untracked codeNguyễn Thái Ngọc Duy, Jan 24, 2018
  8. 4/5 update-index doc: note a fixed bug in the untracked cacheNguyễn Thái Ngọc Duy, Jan 24, 2018
  9. 5/5 dir.c: stop ignoring opendir() error in open_cached_dir()Nguyễn Thái Ngọc Duy, Jan 24, 2018
  10. Ævar Arnfjörð BjarmasonFeb 1, 2018
  11. Ævar Arnfjörð BjarmasonJan 24, 2018
  12. Junio C HamanoJan 24, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.