summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/lib/libc/gen/t_nice.c
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2014-10-10 19:32:53 +0000
committerngie <ngie@FreeBSD.org>2014-10-10 19:32:53 +0000
commit5ce4af18cfbb66514344003b6c81710f21c3e3b6 (patch)
treee9b5e75fd7f8efea5dcfdca58481138e157bc51a /contrib/netbsd-tests/lib/libc/gen/t_nice.c
parentd20db9d537a86bd3d2904192e5fa0a74b9decc7a (diff)
downloadFreeBSD-src-5ce4af18cfbb66514344003b6c81710f21c3e3b6.zip
FreeBSD-src-5ce4af18cfbb66514344003b6c81710f21c3e3b6.tar.gz
Handle getting/setting niceness/priority correctly on FreeBSD vs NetBSD
This might be fallout from PR: 189821 Submitted by: pho Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'contrib/netbsd-tests/lib/libc/gen/t_nice.c')
-rw-r--r--contrib/netbsd-tests/lib/libc/gen/t_nice.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/netbsd-tests/lib/libc/gen/t_nice.c b/contrib/netbsd-tests/lib/libc/gen/t_nice.c
index f4a62e9..67a0bf5 100644
--- a/contrib/netbsd-tests/lib/libc/gen/t_nice.c
+++ b/contrib/netbsd-tests/lib/libc/gen/t_nice.c
@@ -93,7 +93,11 @@ ATF_TC_HEAD(nice_priority, tc)
ATF_TC_BODY(nice_priority, tc)
{
+#if defined(__FreeBSD__)
+ int i, pri, pri2, nic;
+#else
int i, pri, nic;
+#endif
pid_t pid;
int sta;
@@ -106,8 +110,10 @@ ATF_TC_BODY(nice_priority, tc)
pri = getpriority(PRIO_PROCESS, 0);
ATF_REQUIRE(errno == 0);
+#if defined(__NetBSD__)
if (nic != pri)
atf_tc_fail("nice(3) and getpriority(2) conflict");
+#endif
/*
* Also verify that the nice(3) values
@@ -119,10 +125,18 @@ ATF_TC_BODY(nice_priority, tc)
if (pid == 0) {
errno = 0;
+#if defined(__FreeBSD__)
pri = getpriority(PRIO_PROCESS, 0);
+#else
+ pri2 = getpriority(PRIO_PROCESS, 0);
+#endif
ATF_REQUIRE(errno == 0);
+#if defined(__FreeBSD__)
+ if (pri != pri2)
+#else
if (nic != pri)
+#endif
_exit(EXIT_FAILURE);
_exit(EXIT_SUCCESS);
@@ -161,7 +175,11 @@ ATF_TC_HEAD(nice_thread, tc)
ATF_TC_BODY(nice_thread, tc)
{
pthread_t tid[5];
+#if defined(__FreeBSD__)
+ int pri, rv, val;
+#else
int rv, val;
+#endif
size_t i;
/*
@@ -173,7 +191,12 @@ ATF_TC_BODY(nice_thread, tc)
val = nice(i);
ATF_REQUIRE(val != -1);
+#if defined(__FreeBSD__)
+ pri = getpriority(PRIO_PROCESS, 0);
+ rv = pthread_create(&tid[i], NULL, threadfunc, &pri);
+#else
rv = pthread_create(&tid[i], NULL, threadfunc, &val);
+#endif
ATF_REQUIRE(rv == 0);
rv = pthread_join(tid[i], NULL);
OpenPOWER on IntegriCloud