On Sat, Dec 11, 2010 at 17:55, Tom Lane <t...@sss.pgh.pa.us> wrote: > Magnus Hagander <mag...@hagander.net> writes: >> On Sat, Dec 11, 2010 at 17:38, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> No, it isn't. There's an apparently-useless definition of _S_IRWXU >>> there, but no S_IRWXU. > >> Hmm. You're right, of course. > >> A search on my windows box finds the text string S_IRWXU in the >> following "*.h" files across the whole filesystem: >> c:\perl\lib\CORE\perl.h >> c:\perl64\lib\CORE\perl.h >> c:\pgsql\src\include\pg_config_os.h >> c:\pgsql\src\include\port\win32.h > >> that's it. > > OK, now I'm really confused. We have at least two questions: > > 1. How did all those pre-existing references to S_IRXWU compile?
Yeah, that's weird. IIRC (I stopped looking for the moment, need a step back) some of them were protected by #ifndef WIN32, but not all of them.. > 2. Why didn't the previously hard-wired constants passed to chmod > and umask fail on Windows? The M$ documentation I can find at the > moment suggests that *only* _S_IREAD and _S_IWRITE bits are allowed > in the inputs to those functions, which apparently is untrue or none > of this code would have executed successfully. Probably it ignores any flags it doesn't know about? -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers