On Sat, 25 Jun 2016 21:06:57 +0300 Konstantin Belousov <kostik...@gmail.com> wrote:
> On Sat, Jun 25, 2016 at 09:05:43PM +0300, Konstantin Belousov wrote: > > On Sat, Jun 25, 2016 at 08:43:17PM +0300, Ivan Klymenko wrote: > > > ./thr_mutex_test > > > thr_mutex_test: mutex_trylock 2: No error: 0 > > > > Ok, there is a bug in my test, it must use errc(3) and not err(3). > > Please retest wth the updated code below. But I am sure that you > > would see EDEADLK (Resource deadlock avoided) error, which means > > that you have wrong, i.e. unpatched libthr, installed. > > > > For me, the output is > > sandy% ./pthread_errrecurse > > sandy% echo $? > > 0 > > > Err, the updated test. > > /* $Id: pthread_errrecurse.c,v 1.2 2016/06/25 18:02:54 kostik Exp > kostik $ */ > > #include <err.h> > #include <errno.h> > #include <pthread.h> > > int > main(void) > { > pthread_mutex_t m; > pthread_mutexattr_t ma; > int error; > > error = pthread_mutexattr_init(&ma); > if (error != 0) > errc(1, error, "mutexattr_init"); > error = pthread_mutexattr_settype(&ma, > PTHREAD_MUTEX_ADAPTIVE_NP); if (error != 0) > errc(1, error, "mutexattr_settype"); > error = pthread_mutex_init(&m, &ma); > if (error != 0) > errc(1, error, "mutex_init"); > error = pthread_mutex_trylock(&m); > if (error != 0) > errc(1, error, "mutex_trylock 1"); > error = pthread_mutex_trylock(&m); > if (error != EBUSY) > errc(1, error, "mutex_trylock 2"); > else if (error == 0) > errx(1, "mutex_trylock 2 succeeded"); > return (0); > } 1. Patched & installed libthr r302195 2. test for other soft: mousepad GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_trylock': Уникнуто взаємне блокування ресурсів. Aborting. Аварійне завершення(записано core) 3.test new ./thr_mutex_test thr_mutex_test: mutex_trylock 2: No error: 0 4. restore patch & install original libthr r302195 5. test for other soft: mousepad GLib (gthread-posix.c): Unexpected error from C library during 'pthread_mutex_trylock': Уникнуто взаємне блокування ресурсів. Aborting. Аварійне завершення(записано core) 6. test new ./thr_mutex_test thr_mutex_test: mutex_trylock 2: No error: 0 7. restore & install libthr r302191 8. test for other soft: mousepad - complete run 9. test new ./thr_mutex_test thr_mutex_test: mutex_trylock 2: No error: 0 _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"