We were just analyzing some more OProfile and ltrace data against Postgres 8.2Beta1 and we noticed a number of calls as follows:
strlen("postgres: tpc tpc 192.168.1.200("...) = 58 memset(0xbffff6b2, '\000', 2344) = 0xbffff6b2 We have tracked this down to the following code in the set_ps_display () function: #ifdef PS_USE_CLOBBER_ARGV { int buflen; /* pad unused memory */ buflen = strlen(ps_buffer); MemSet(ps_buffer + buflen, PS_PADDING, ps_buffer_size - buflen); } #endif /* PS_USE_CLOBBER_ARGV */ If set_ps_display () moves to use the strlcpy () function call, this code might be redundant. Even if the StrNCpy () call is kept, this code may still be redundant as StrNCpy () will zero fill the ps_buffer. A MemSet () call on the ps_buffer has to be added to the init_ps_display () function, if this code is removed to clear the buffer before use. David ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster