Re: Random PGDLLIMPORTing

Поиск
Список
Период
Сортировка
От Victor Wagner
Тема Re: Random PGDLLIMPORTing
Дата
Msg-id 20161124172522.301a7ae8@fafnir.local.vm
обсуждение исходный текст
Ответ на Re: Random PGDLLIMPORTing  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
On Thu, 24 Nov 2016 15:01:33 +0100
Magnus Hagander <magnus@hagander.net> wrote:

> On Thu, Nov 24, 2016 at 2:58 PM, Craig Ringer <craig@2ndquadrant.com>
> wrote:
> 
> > Hi all
> >
> > Noticed this while reading something unrelated
> >
> > extern PGDLLIMPORT pid_t PostmasterPid;
> > extern bool IsPostmasterEnvironment;
> > extern PGDLLIMPORT bool IsUnderPostmaster;
> > extern bool IsBackgroundWorker;
> > extern PGDLLIMPORT bool IsBinaryUpgrade;
> >
> > I don't see any sane reason for some of those to be PGDLLIMPORT but
> > not others. In particular it's pretty silly for IsBackgroundWorker
> > not to be PGDLLIMPORT.
> >
> > Too trivial to be worth making an actual patch, it'd be more work to
> > apply it than edit directly.
> >  
> 
> My guess is that PGDLLIMPORT has been added explicitly when somebody
> needed it for something, without any actual thought. I can't say I
> see any reason not to export the other ones as well -- more that
> maybe there are even more that are needed?
> 

It worth checking actual variable definitions, not just declarations.
I've found recently, that at least in MSVC build system, only
initialized variables are included into postgres.def file, and so are
actually exported from the backend binary.

But in this case both IsPostmasterEnvironment and IsBackgroundWorker
are initialized. So probably they are not marked as importable only for
historic reason.






В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Physical append-only tables
Следующее
От: Dilip Kumar
Дата:
Сообщение: Re: Creating a DSA area to provide work space for parallel execution