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

Re: [PATCH] Add a fast version of fstat to cygwin port

From
Alex Riesen <raa.lkml@gmail.com>
Date
Mar 19, 2009, 15:14 UTC
Message-ID
<81b0412b0903190814i254ee2d1yc39035e78d7ad3d8@mail.gmail.com>
In-Reply-To
<49C25CAE.6000003@viscovery.net>
2009/3/19 Johannes Sixt <j.sixt@viscovery.net>:
Show 12 quoted lines
> Alex Riesen schrieb:
>> BTW, why do we have to #undef fstat, but not stat/lstat?
>
> Because stat and lstat are #defined with an argument list, but in those
> instances where the cygwin version of stat/lstat is meant, they are used
> *without* argument list (see cygwin_stat/lstat_stub), and no macro
> expansion happens, and therefore we don't need to #undef the macro.
>
> OTOH, do_fstat calls into cygwin's fstat() if the file handle is not a
> file and uses an argument list that would cause a macro expansion if it
> were not #undef'd:
>
...
Show 5 quoted lines
>> +     /* direct non-file handles to cygwin's fstat() */
>> +     if (GetFileType(fh) != FILE_TYPE_DISK)
>> +             return fstat(fd, buf);
>
> We never do that for stat/lstat.

I see. Not immediately obvious :) Thanks!

Previous: Johannes Sixt
Message 3 of 3 in “Add a fast version of fstat to cygwin port”
  1. Add a fast version of fstat to cygwin portAlex Riesen, Mar 19, 2009
  2. Johannes SixtMar 19, 2009
  3. Alex RiesenMar 19, 2009

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.