svn commit: r302194 - head/lib/libthr/thread
Konstantin Belousov
kostikbel at gmail.com
Sat Jun 25 15:20:17 UTC 2016
On Sat, Jun 25, 2016 at 05:55:03PM +0300, Ivan Klymenko wrote:
> On Sat, 25 Jun 2016 17:29:15 +0300
> Konstantin Belousov <kostikbel at gmail.com> wrote:
>
> > On Sat, Jun 25, 2016 at 05:18:00PM +0300, Ivan Klymenko wrote:
> > > On Sat, 25 Jun 2016 17:05:29 +0300
> > > Konstantin Belousov <kostikbel at gmail.com> wrote:
> > >
> > > > On Sat, Jun 25, 2016 at 05:04:06PM +0300, Ivan Klymenko wrote:
> > > > > On Sat, 25 Jun 2016 16:55:09 +0300
> > > > > Konstantin Belousov <kostikbel at gmail.com> wrote:
> > > > >
> > > > > > On Sat, Jun 25, 2016 at 04:44:03PM +0300, Ivan Klymenko
> > > > > > wrote:
> > > > > > > On Sat, 25 Jun 2016 11:30:40 +0000 (UTC)
> > > > > > > Konstantin Belousov <kib at FreeBSD.org> wrote:
> > > > > > >
> > > > > > > > Author: kib
> > > > > > > > Date: Sat Jun 25 11:30:40 2016
> > > > > > > > New Revision: 302194
> > > > > > > > URL: https://svnweb.freebsd.org/changeset/base/302194
> > > > > > > >
> > > > > > > > Log:
> > > > > > > > For pthread_mutex_trylock() call on owned error-check or
> > > > > > > > non-portable adaptive mutex, return EDEADLK as required by
> > > > > > > > POSIX. The pthread_mutex_lock() is already compliant.
> > > > > > > >
> > > > > > > > Tested by: Guy Yur <guyyur at gmail.com>
> > > > > > > > Sponsored by: The FreeBSD Foundation
> > > > > > > > MFC after: 2 weeks
> > > > > > > > Approved by: re (gjb)
> > > > > > > >
> > > > > > > > Modified:
> > > > > > > > head/lib/libthr/thread/thr_mutex.c
> > > > > > > >
> > > > > > > > Modified: head/lib/libthr/thread/thr_mutex.c
> > > > > > > > ==============================================================================
> > > > > > > > --- head/lib/libthr/thread/thr_mutex.c Sat Jun 25
> > > > > > > > 10:08:04 2016 (r302193) +++
> > > > > > > > head/lib/libthr/thread/thr_mutex.c Sat Jun 25 11:30:40
> > > > > > > > 2016 (r302194) @@ -850,9 +850,12 @@
> > > > > > > > mutex_self_trylock(struct pthread_mutex switch
> > > > > > > > (PMUTEX_TYPE(m->m_flags)) { case PTHREAD_MUTEX_ERRORCHECK:
> > > > > > > > - case PTHREAD_MUTEX_NORMAL:
> > > > > > > > case PTHREAD_MUTEX_ADAPTIVE_NP:
> > > > > > > > - ret = EBUSY;
> > > > > > > > + ret = EDEADLK;
> > > > > > > > + break;
> > > > > > > > +
> > > > > > > > + case PTHREAD_MUTEX_NORMAL:
> > > > > > > > + ret = EBUSY;
> > > > > > > > break;
> > > > > > > >
> > > > > > > > case PTHREAD_MUTEX_RECURSIVE:
> > > > > > >
> > > > > > > Update for r302191 to r302196 console-kit-daemon:
> > > > > > > pid 1496 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > pid 1581 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > pid 5954 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > pid 6010 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > > pid 6016 (console-kit-daemon), uid 0: exited on signal 6
> > > > > > >
> > > > > > > Xorg session after authorization not started - black
> > > > > > > screen.
> > > > > >
> > > > > > Why did you replied to r302194 with this information ? Does
> > > > > > reverting r302194 (and only this revision) restores
> > > > > > console-kit functionality ?
> > > > >
> > > > > I do not know which one commits it breaks r302194 or next
> > > > > 302195. I returned to r302191 for restores console-kit
> > > > > functionality.
> > > > Can you test, please ? Use r302195 kernel and previous libthr.
> > >
> > > Kernel r302195, world r302191 - works fine - the problem can not
> > > reproduce.
> >
> > Thank you.
> >
> > Could you get backtrace from the console-kit-daemon ? Only rebuild
> > libthr: cd src/lib/libthr && make DEBUG_FLAGS=-g WITHOUT_TESTS=yes
> > all install then gather coredump and load it in gdb. Then you can
> > revert the commit and rebuild working libthr.
> >
>
> http://pastebin.com/wgmmicC3 If this information will be useful.
Yes, it is useful, thank you. Please try this instead of reverting.
diff --git a/lib/libthr/thread/thr_mutex.c b/lib/libthr/thread/thr_mutex.c
index 2ad05ca..1ae75fb 100644
--- a/lib/libthr/thread/thr_mutex.c
+++ b/lib/libthr/thread/thr_mutex.c
@@ -850,10 +871,10 @@ mutex_self_trylock(struct pthread_mutex *m)
switch (PMUTEX_TYPE(m->m_flags)) {
case PTHREAD_MUTEX_ERRORCHECK:
- case PTHREAD_MUTEX_ADAPTIVE_NP:
ret = EDEADLK;
break;
+ case PTHREAD_MUTEX_ADAPTIVE_NP:
case PTHREAD_MUTEX_NORMAL:
ret = EBUSY;
break;
More information about the svn-src-all
mailing list