-
MySQL Build Team authored
> ------------------------------------------------------------ > revno: 2852.1.15 > revision-id: davi.arnaut@sun.com-20090409152525-b4vnj9atidmjh0mf > parent: luis.soares@sun.com-20090409113044-2072kufy5efeohpp > committer: Davi Arnaut <Davi.Arnaut@Sun.COM> > branch nick: 43706-5.1 > timestamp: Thu 2009-04-09 12:25:25 -0300 > message: > Bug#43706: libmysqld segfaults when re-intialised > Bug#44091: libmysqld gets stuck waiting on mutex on initialization > > The problem was that libmysqld wasn't enforcing a certain > initialization and deinitialization order for the mysys > library. Another problem was that the global object used > for management of log event handlers (aka LOGGER) wasn't > being prepared for a possible reutilization. > > What leads to the hang/crash reported is that a failure > to load the language file triggers a double call of the > cleanup functions, causing an already destroyed mutex to > be used. > > The solution is enforce a order on the initialization and > deinitialization of the mysys library within the libmysqld > library and to ensure that the global LOGGER object reset > it's internal state during cleanup.
38094c04