summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Lavrentiev via cygwin-patches <cygwin-patches@cygwin.com>2019-10-30 11:47:25 -0400
committerCorinna Vinschen <corinna@vinschen.de>2019-10-31 21:40:22 +0100
commitfe239aef1b397145707561fa0bb0a8795cf41fd0 (patch)
treeff8184aaca9312607d1ccbb237c5ee233078dd47
parent235eb63034dcedeb12d4feb0165e50582c090a14 (diff)
downloadcygnal-fe239aef1b397145707561fa0bb0a8795cf41fd0.tar.gz
cygnal-fe239aef1b397145707561fa0bb0a8795cf41fd0.tar.bz2
cygnal-fe239aef1b397145707561fa0bb0a8795cf41fd0.zip
Cygwin: getpriority() consistent with process priority
https://cygwin.com/ml/cygwin/2019-08/msg00122.html
-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)