Date: Sat, 13 Aug 2016 04:45:39 +0000 (UTC) From: Garrett Cooper <ngie@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r304036 - projects/netbsd-tests-update-12/contrib/netbsd-tests/lib/libpthread Message-ID: <201608130445.u7D4jdSd093813@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ngie Date: Sat Aug 13 04:45:39 2016 New Revision: 304036 URL: https://svnweb.freebsd.org/changeset/base/304036 Log: Expect :mutexattr2 to fail on FreeBSD pthread_mutexattr_getprioceiling and pthread_mutexattr_setprioceiling both return EINVAL if ->m_protocol != PTHREAD_PRIO_PROTECT. The reasoning behind this decision isn't documented in neither the FreeBSD nor the OpenGroup manpages. Add printf's to add in debugging the issue PR: 211802 Sponsored by: EMC / Isilon Storage Division Modified: projects/netbsd-tests-update-12/contrib/netbsd-tests/lib/libpthread/t_mutex.c Modified: projects/netbsd-tests-update-12/contrib/netbsd-tests/lib/libpthread/t_mutex.c ============================================================================== --- projects/netbsd-tests-update-12/contrib/netbsd-tests/lib/libpthread/t_mutex.c Sat Aug 13 02:53:02 2016 (r304035) +++ projects/netbsd-tests-update-12/contrib/netbsd-tests/lib/libpthread/t_mutex.c Sat Aug 13 04:45:39 2016 (r304036) @@ -553,14 +553,31 @@ ATF_TC_BODY(mutexattr2, tc) { pthread_mutexattr_t mattr; +#ifdef __FreeBSD__ + atf_tc_expect_fail("fails on i == 0 with: " + "pthread_mutexattr_setprioceiling(&mattr, i): Invalid argument " + "-- PR # 211802"); +#endif + PTHREAD_REQUIRE(pthread_mutexattr_init(&mattr)); int max_prio = sched_get_priority_max(SCHED_FIFO); int min_prio = sched_get_priority_min(SCHED_FIFO); for (int i = min_prio; i <= max_prio; i++) { int prioceiling; +#ifdef __FreeBSD__ + int protocol; + + PTHREAD_REQUIRE(pthread_mutexattr_getprotocol(&mattr, + &protocol)); + + printf("priority: %d\nprotocol: %d\n", i, protocol); +#endif PTHREAD_REQUIRE(pthread_mutexattr_setprioceiling(&mattr, i)); PTHREAD_REQUIRE(pthread_mutexattr_getprioceiling(&mattr, &prioceiling)); +#ifdef __FreeBSD__ + printf("prioceiling: %d\n", prioceiling); +#endif ATF_REQUIRE_EQ(i, prioceiling); } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608130445.u7D4jdSd093813>