Re: setproctitle()
От | The Hermit Hacker |
---|---|
Тема | Re: setproctitle() |
Дата | |
Msg-id | Pine.BSF.4.21.0005232003050.243-100000@thelab.hub.org обсуждение исходный текст |
Ответ на | setproctitle() (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: setproctitle()
Re: setproctitle() |
Список | pgsql-hackers |
On Tue, 23 May 2000, Bruce Momjian wrote: > Seems BSD/OS 4.01 has setproctitle() in libutil.o, even though there is > no include file nor manual page. > > I checked the library source, and it is a very light-weight function. > It grabs an argv global from crt0.o, and changes the ps args. Very fast. > > I now see that systems that use setproctitle() seem totally broken for > updates. The code says: > > setproctitle("%s %s %s %s %s", execname, hostname, username, db... > > #define PS_SET_STATUS(status) \ > do { strcpy(Ps_status_buffer, (status)); } while (0) > > Of course, there is no linkage between Ps_status_buffer and the > setproctitle args here, so it is no-op. The fix is to move > setproctitle() down into PS_SET_STATUS(). > > Seems this is Marc's new code: > > date: 2000/05/12 13:58:24; author: scrappy; state: Exp; lines: +2 -1 > > Add two checks ... one for setproctitle and one for -lutil ... > > Don't do anything with them at this time, but am working on that ... > > I know we have been talking about using setproctitle() in all cases that > support it, and in fact we now do that. What we don't do is use > setproctitle() to update the status for each query. > > So it seems that he has enabled it on my platform. Do people want > setproctitle() to update for every query for 7.01? I have seen FreeBSD > and BSDI implementations, and they are both light-weight. > > Comments? I would like to see it, but not for v7.0.1 ... unless you can figure out a cleaner way of doing it, the coding changes would be extensive ... I looked at it, and unless we go with global variables *yeech*, you would have to pass down the "fixed" part of the setproctitle to sub-functions (ie. argv[0-4](?)) ... I asked on one of the freebsd lists if anyone could suggest a way of getting 'argv[0]', but never did hear anything back ... If you want, you could just added, for v7.0.1, a simple addition of 'if __FreeBSD__' to the code, so that setproctitle is only used under FreeBSD ...
В списке pgsql-hackers по дате отправления: