|From:||Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>|
|To:||Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>|
|Cc:||Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: Loaded footgun open_datasync on Windows|
|Views:||Raw Message | Whole Thread | Download mbox|
Kuntal Ghosh wrote:
[pg_test_fsync doesn't use pgwin32_open and hence doesn't respect O_DSYNC]
> On Wed, Jun 6, 2018 at 2:39 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> > On Wed, Jun 6, 2018 at 10:18 AM, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> > > On Wed, Jun 06, 2018 at 09:58:34AM +0530, Amit Kapila wrote:
> > > > One another alternative could be that we
> > > > define open as pgwin32_open (for WIN32) wherever we need it.
> > >
> > > Which is what basically happens on any *nix platform, are you foreseeing
> > > anything bad here?
> > Nothing apparent, but I think we should try to find out why at the first
> > place this has been made backend specific.
> It seems the "#ifndef FRONTEND" restriction was added around
> pgwin32_open() for building libpq with Visual C++ or Borland C++. The
> restriction was added in commit 422d4819 to build libpq with VC++.
> Later, in commit fd7c3f67e0bc4, the support for Borland C++ was also
> So, I'm not sure whether removing that restriction will work for all
> front-end modules.
Thanks for the research, and sorry for my long silence.
If I remove the "#ifndef FRONTEND", building with MSVC fails for all
call sites that use the two-argument version of open(2).
If I use the three-argument version throughout, which should be no problem,
PostgreSQL builds just fine with MSVC.
How about checking what the buildfarm thinks about the attached?
|Next Message||Euler Taveira||2018-06-20 14:19:28||Re: New function pg_stat_statements_reset_query() to reset statistics of a specific query|
|Previous Message||Tatsuo Ishii||2018-06-20 13:59:37||Re: documentation is now XML|