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.
|