Re: thread-safety: getpwuid_r()
От | Heikki Linnakangas |
---|---|
Тема | Re: thread-safety: getpwuid_r() |
Дата | |
Msg-id | 564be42e-f77b-4ba7-b726-a241a8e3a6ed@iki.fi обсуждение исходный текст |
Ответ на | Re: thread-safety: getpwuid_r() (Heikki Linnakangas <hlinnaka@iki.fi>) |
Ответы |
Re: thread-safety: getpwuid_r()
|
Список | pgsql-hackers |
On 26/08/2024 20:38, Peter Eisentraut wrote: > On 24.08.24 15:55, Heikki Linnakangas wrote: >> Come to think of it, the pg_get_user_name() function is just a thin >> wrapper around getpwuid_r(). It doesn't provide a lot of value. >> Perhaps we should remove pg_get_user_name() and pg_get_user_home_dir() >> altogether and call getpwuid_r() directly. > > Yeah, that seems better. These functions are somewhat strangely > designed and as you described have faulty error handling. By calling > getpwuid_r() directly, we can handle the errors better and the code > becomes more transparent. (There used to be a lot more interesting > portability complications in that file, but those are long gone.) New patch looks good to me, thanks! > I tried to be overly correct by using sysconf(_SC_GETPW_R_SIZE_MAX) to > get the buffer size, but that doesn't work on FreeBSD. All the OS where > I could find the source code internally use 1024 as the suggested buffer > size, so I just ended up hardcoding that. This should be no worse than > what the code is currently handling. Maybe add a brief comment on that. -- Heikki Linnakangas Neon (https://neon.tech)
В списке pgsql-hackers по дате отправления: