Skip site navigation (1)Skip section navigation (2)
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>