[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r14252 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r14252 - gnunet/src/util |
Date: |
Tue, 25 Jan 2011 11:33:36 +0100 |
Author: grothoff
Date: 2011-01-25 11:33:36 +0100 (Tue, 25 Jan 2011)
New Revision: 14252
Modified:
gnunet/src/util/os_priority.c
Log:
undo
Modified: gnunet/src/util/os_priority.c
===================================================================
--- gnunet/src/util/os_priority.c 2011-01-24 21:35:50 UTC (rev 14251)
+++ gnunet/src/util/os_priority.c 2011-01-25 10:33:36 UTC (rev 14252)
@@ -320,12 +320,33 @@
SetPriorityClass (h, rprio);
}
#elif LINUX
- if (0 != setpriority (PRIO_PROCESS, proc->pid, rprio))
+ pid_t pid;
+
+ pid = proc->pid;
+ if ( (0 == pid) ||
+ (pid == getpid () ) )
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING |
- GNUNET_ERROR_TYPE_BULK, "setpriority");
- return GNUNET_SYSERR;
+ int have = nice (0);
+ int delta = rprio - have;
+ errno = 0;
+ if ( (delta != 0) &&
+ (rprio == nice (delta)) &&
+ (errno != 0) )
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING |
+ GNUNET_ERROR_TYPE_BULK, "nice");
+ return GNUNET_SYSERR;
+ }
}
+ else
+ {
+ if (0 != setpriority (PRIO_PROCESS, pid, rprio))
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING |
+ GNUNET_ERROR_TYPE_BULK, "setpriority");
+ return GNUNET_SYSERR;
+ }
+ }
#else
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
"Priority management not availabe for this platform\n");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r14252 - gnunet/src/util,
gnunet <=