Re: A micro-optimisation for walkdir() - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: A micro-optimisation for walkdir()
Date
Msg-id 20200904193724.GA7401@alvherre.pgsql
Whole thread Raw
In response to Re: A micro-optimisation for walkdir()  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: A micro-optimisation for walkdir()  (Juan José Santamaría Flecha <juanjo.santamaria@gmail.com>)
List pgsql-hackers
On 2020-Sep-04, Thomas Munro wrote:

> @@ -10,6 +10,7 @@ struct dirent
>  {
>      long        d_ino;
>      unsigned short d_reclen;
> +    unsigned char d_type;
>      unsigned short d_namlen;
>      char        d_name[MAX_PATH];
>  };
> @@ -20,4 +21,26 @@ DIR           *opendir(const char *);
>  struct dirent *readdir(DIR *);
>  int            closedir(DIR *);
>  
> +/* File types for 'd_type'. */
> +enum
> +  {
> +    DT_UNKNOWN = 0,
> +# define DT_UNKNOWN        DT_UNKNOWN

Uhm ... what do these #defines do?  They look a bit funny.

Would it make sense to give this enum a name, and then use that name in
struct dirent's definition, instead of unsigned char?

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: Disk-based hash aggregate's cost model
Next
From: Alvaro Herrera
Date:
Subject: Re: Concurrent failure in create_am with buildfarm member conchuela