Thread: where EXEC_BACKEND?

where EXEC_BACKEND?

From
abdelhak benmohamed
Date:
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="font: inherit;" valign="top">hi,<br /><br />actually i
tryto execute postgres step by step (on paper)<br />i don't retreive where EXEC_BACKEND is initialized<br />can any one
helpme?<br />it is very important for me<br /><br />thanks<br /></td></tr></table><br /> 

Re: where EXEC_BACKEND?

From
Andrew Dunstan
Date:

abdelhak benmohamed wrote:
> hi,
>
> actually i try to execute postgres step by step (on paper)
> i don't retreive where EXEC_BACKEND is initialized
> can any one help me?
> it is very important for me
>
> thanks
>
>

normally it is added to the CPP_FLAGS by configure, if needed (i.e. for 
the Windows gcc build), or by the Project (for the MSVC build).

It's not defined in any include file.

On Unix it is only ever used to test the way the Windows port works, and 
then you have to define it manually, e.g. by passing it in to configure 
via preset CPP_FLAGS. Standard Unix builds don't work this way.


cheers

andrew


Re: where EXEC_BACKEND?

From
Alvaro Herrera
Date:
abdelhak benmohamed wrote:
> hi,
> 
> actually i try to execute postgres step by step (on paper)
> i don't retreive where EXEC_BACKEND is initialized
> can any one help me?
> it is very important for me

Nowhere.  If you want it, you have to define it manually in
pg_config_manual.h.

EXEC_BACKEND is a source code hack that allows the Unix build (which
normally uses only fork() without exec()) to follow the same startup
code as the Windows version (which uses CreateProcess(), equivalent to
both fork() and exec()), allowing for better debuggability for those of
us that do not use Windows.

If you want to follow postmaster initialization on a POSIX platform,
it's easier if you just assume that EXEC_BACKEND is not defined.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.