+++ /dev/null
---- nice.c.orig 2009-11-07 14:51:38.000000000 -0800
-+++ nice.c 2009-11-07 14:51:40.000000000 -0800
-@@ -38,7 +38,9 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/nic
- #include <sys/resource.h>
- #include <errno.h>
- #include <unistd.h>
--
-+#if __DARWIN_UNIX03
-+#include <limits.h>
-+#endif /* __DARWIN_UNIX03 */
- /*
- * Backwards compatible nice.
- */
-@@ -46,11 +48,18 @@ int
- nice(incr)
- int incr;
- {
-- int prio;
-+ int prio, rv;
-
- errno = 0;
- prio = getpriority(PRIO_PROCESS, 0);
- if (prio == -1 && errno)
- return (-1);
-- return (setpriority(PRIO_PROCESS, 0, prio + incr));
-+#if __DARWIN_UNIX03
-+ if (prio + incr > NZERO-1)
-+ incr = NZERO-1-prio;
-+#endif /* __DARWIN_UNIX03 */
-+ rv = setpriority(PRIO_PROCESS, 0, prio + incr);
-+ if (rv == -1 && errno == EACCES)
-+ errno = EPERM;
-+ return (rv == -1) ? rv : getpriority(PRIO_PROCESS, 0);
- }