From: Andreas V. <li...@br...> - 2010-10-07 22:40:11
|
Am Mon, 6 Sep 2010 12:24:03 +0800 schrieb Mat: Hello Mat, I applied your patch (recursive_mutex.patch). To be honest I didn't deeply analysed the new recursive situation from all aspects. But I tried it with some sample applications here and it works nice. If others also have no problem with latest GIT source than I would call it a good change. :-) regards andreas > Hi All, > > We found that in multi-thread programs, if some dbus exception > happended in the critical section of _mutex_w, > the DefaultWatches::~DefaultWatches() will be called in the critical > section of _mutex_w, > which cause deadlock. > > Initial _mutex_w with recursive option ( as recursive_mutex.patch ), > or add this attribute of pthread, PTHREAD_MUTEX_RECURSIVE, ( as > recursive_mutex2.patch ) > , can solve this problem. > > hope the information helps :-) > > sincerely, Mat. |