On Wed, May 16, 2018 at 7:31 PM, Ashesh Vashi <ashesh.va...@enterprisedb.com > wrote:
> [Adding pgadmin-hackers list...] > > Hi Team, > > Using the mutex around the logging code too to avoid overlapping log > message. > Please review it, and let me know your concern. > > Implementation details: > - Moved 'MutexLogger' class, which was used by the connection management > code only, in the include/misc.h > - Use a static mutex for the non-windows system, and used 'MutexLogger' > instance for the better lock/unlock mechanism in the LogMessage(...) > function. > Hi Team, Please review this patch. -- Thanks, Ashesh > > -- Thanks, Ashesh > > > On Wed, May 16, 2018 at 6:59 PM, Dave Page <dp...@pgadmin.org> wrote: > >> >> >> On Wed, May 16, 2018 at 2:27 PM, Ashesh Vashi < >> ashesh.va...@enterprisedb.com> wrote: >> >>> On Tue, May 8, 2018 at 3:01 PM, Thomas Krennwallner < >>> tk+pg...@postsubmeta.net> wrote: >>> >>>> Hi, >>>> >>>> I've just found this suspicious log messages (I've added line numbers in >>>> the attachment pgagent.log): >>>> >>>> 8 Tue May 8 11:11:23 2018 DEBUG: Creating DB connection: >>>> service=xiserver56_tisdbadm cTue May o8nne ct_timeout11:=151: 23 201 >>>> 8applica DEBtUion_nameG: S=pglaeegpeinngt.@.d.e >>>> 9 v_tisdevel dbname=dev_tisdevel >>>> >>>> Note how line 8 and 9 are actually two log messages, which should >>>> have been printed in two lines: >>>> >>>> Tue May 8 11:11:23 2018 DEBUG: Creating DB connection: >>>> service=xiserver56_tisdbadm connect_timeout=5 >>>> application_name=pgagent@dev_tisdevel dbname=dev_tisdevel >>>> Tue May 8 11:11:23 2018 DEBUG: Sleeping... >>>> >>>> It appears that two threads are writing to stdout at the same time, >>>> which calls for an exclusive lock in function >>>> void LogMessage(const std::wstring &msg, const int &level) >>>> >>> Dave, >>> >>> Shall we use a mutex here too? >>> >>> >> I would think so, yes. >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > >