Hi,

I always wondered why ps ax|grep postgres shows several extra blank lines
after the process name, i.e.

  972   ??  Ss     0:00.69 postgres: writer process






973   ??  Ss     0:00.51 postgres: wal writer process

(I put newlines instead of spaces there). By looking into the code I've found
this part of set_ps_display:

#ifdef PS_USE_CLOBBER_ARGV
        /* pad unused memory; need only clobber remainder of old status string 
*/
        if (last_status_len > ps_buffer_cur_len)
                MemSet(ps_buffer + ps_buffer_cur_len, PS_PADDING,
                           last_status_len - ps_buffer_cur_len);
        last_status_len = ps_buffer_cur_len;
#endif   /* PS_USE_CLOBBER_ARGV */

PS_PADDING padding on __darwin__ is set to ' '. Apparently this doesn't work
correctly with OS X 10.6. After I changed the define to use '\0' on darwin
extra blank likes (actually consisting of hundreds of spaces without a line
break) disappeared. The one-liner change follows:

===
diff --git a/src/backend/utils/misc/ps_status.c 
b/src/backend/utils/misc/ps_status.c
index f27a52f..c2ddf33 100644
--- a/src/backend/utils/misc/ps_status.c
+++ b/src/backend/utils/misc/ps_status.c
@@ -76,7 +76,7 @@ bool          update_process_title = true;
 
 
 /* Different systems want the buffer padded differently */
-#if defined(_AIX) || defined(__linux__) || defined(__svr4__)
+#if defined(_AIX) || defined(__linux__) || defined(__svr4__) || 
defined(__darwin__)
 #define PS_PADDING '\0'
 #else
 #define PS_PADDING ' '
===

I don't have different OS X versions to test, so I'm not sure whether 10.5 or
below are also affected. Also, the patch should specifically check for 10.6,
though I don't know how to distinguish between different OS X versions in
postgres sources (any suggestions?).

Regards,
--
Alexey Klyukin                              http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to