Magnus, where are we on this refactoring process.
---------------------------------------------------------------------------
Magnus Hagander wrote:
> >> * Created function write_stderr(const char *fmt, ...), used
> >before elog
> >> can be used. This function will write to stderr on unix and on win32
> >> fconsole. It will write to the eventlog on win32 when running as a
> >> service.
> >> * Changed all (most? I think I got all) fprintf(stderr,...)
> >to use this
> >> function instead. That way, we gain the ability to put all the other
> >> preivously-stderr-messages to the eventlog as well.
> >
> >I'm not sure this is a good idea. The remaining uses of stderr were
> >that way for a reason, not because someone had forgot to change them
> >into elog calls. It would be a lot less invasive to just move the
> >privilege check as you originally intended.
>
>
> I figured as long as nothing "dangerous" (e.g. using memory allocations
> etc) is done in the function, it should be just as safe as fprintf. On
> Unix, it does nothing more than a simple fprintf anyway (one call
> deeper). The only difference in practice is that we can put them in the
> eventlog on win32 (again, only using calls that are safe in this
> context). If we do it the other way, we are going to lose these other
> messages when running as a service on win32 (since we specifically are
> not using ereport(), per what you say above).
>
> Also, this would remove the check so you could do initdb and other
> operations that are blocked today (that don't go through postmaster.c)
> when being root, I assumed that was not good either...
>
> //Magnus
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073