summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/syscalls.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index a914ae8a9..20126ce10 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -3977,7 +3977,12 @@ getpriority (int which, id_t who)
if (!who)
who = myself->pid;
if ((pid_t) who == myself->pid)
- return myself->nice;
+ {
+ DWORD winprio = GetPriorityClass(GetCurrentProcess());
+ if (winprio != nice_to_winprio(myself->nice))
+ myself->nice = winprio_to_nice(winprio);
+ return myself->nice;
+ }
break;
case PRIO_PGRP:
if (!who)