aboutsummaryrefslogtreecommitdiff
path: root/src/util/os_priority.c
diff options
context:
space:
mode:
authorDavid Barksdale <amatus.amongus@gmail.com>2013-06-23 18:17:10 +0000
committerDavid Barksdale <amatus.amongus@gmail.com>2013-06-23 18:17:10 +0000
commit9cc06d175c995c179728ea090e131d2e7319fce2 (patch)
tree40c721f70132cdb058e92b5f91195d5a2abe8bae /src/util/os_priority.c
parent5bcda7889ae905afac4d97d95ea4f44dba2143dc (diff)
downloadgnunet-9cc06d175c995c179728ea090e131d2e7319fce2.tar.gz
gnunet-9cc06d175c995c179728ea090e131d2e7319fce2.zip
Removed GNUNET_OS_set_process_priority since it's not used.
Diffstat (limited to 'src/util/os_priority.c')
-rw-r--r--src/util/os_priority.c106
1 files changed, 0 insertions, 106 deletions
diff --git a/src/util/os_priority.c b/src/util/os_priority.c
index b967445f3..5946f2b3d 100644
--- a/src/util/os_priority.c
+++ b/src/util/os_priority.c
@@ -343,112 +343,6 @@ child_wait_thread (void *arg)
343#endif 343#endif
344 344
345 345
346/**
347 * Set process priority
348 *
349 * @param proc pointer to process structure
350 * @param prio priority value
351 * @return GNUNET_OK on success, GNUNET_SYSERR on error
352 */
353int
354GNUNET_OS_set_process_priority (struct GNUNET_OS_Process *proc,
355 enum GNUNET_SCHEDULER_Priority prio)
356{
357 int rprio;
358
359 GNUNET_assert (prio < GNUNET_SCHEDULER_PRIORITY_COUNT);
360 if (GNUNET_SCHEDULER_PRIORITY_KEEP == prio)
361 return GNUNET_OK;
362
363 /* convert to MINGW/Unix values */
364 switch (prio)
365 {
366 case GNUNET_SCHEDULER_PRIORITY_UI:
367 case GNUNET_SCHEDULER_PRIORITY_URGENT:
368#ifdef MINGW
369 rprio = HIGH_PRIORITY_CLASS;
370#else
371 rprio = 0;
372#endif
373 break;
374
375 case GNUNET_SCHEDULER_PRIORITY_HIGH:
376#ifdef MINGW
377 rprio = ABOVE_NORMAL_PRIORITY_CLASS;
378#else
379 rprio = 5;
380#endif
381 break;
382
383 case GNUNET_SCHEDULER_PRIORITY_DEFAULT:
384#ifdef MINGW
385 rprio = NORMAL_PRIORITY_CLASS;
386#else
387 rprio = 7;
388#endif
389 break;
390
391 case GNUNET_SCHEDULER_PRIORITY_BACKGROUND:
392#ifdef MINGW
393 rprio = BELOW_NORMAL_PRIORITY_CLASS;
394#else
395 rprio = 10;
396#endif
397 break;
398
399 case GNUNET_SCHEDULER_PRIORITY_IDLE:
400#ifdef MINGW
401 rprio = IDLE_PRIORITY_CLASS;
402#else
403 rprio = 19;
404#endif
405 break;
406 default:
407 GNUNET_assert (0);
408 return GNUNET_SYSERR;
409 }
410
411 /* Set process priority */
412#ifdef MINGW
413 {
414 HANDLE h = proc->handle;
415
416 GNUNET_assert (h != NULL);
417 SetPriorityClass (h, rprio);
418 }
419#elif LINUX
420 pid_t pid;
421
422 pid = proc->pid;
423 if ((0 == pid) || (pid == getpid ()))
424 {
425 int have = nice (0);
426 int delta = rprio - have;
427
428 errno = 0;
429 if ((delta != 0) && (rprio == nice (delta)) && (errno != 0))
430 {
431 LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING | GNUNET_ERROR_TYPE_BULK, "nice");
432 return GNUNET_SYSERR;
433 }
434 }
435 else
436 {
437 if (0 != setpriority (PRIO_PROCESS, pid, rprio))
438 {
439 LOG_STRERROR (GNUNET_ERROR_TYPE_WARNING | GNUNET_ERROR_TYPE_BULK,
440 "setpriority");
441 return GNUNET_SYSERR;
442 }
443 }
444#else
445 LOG (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
446 "Priority management not availabe for this platform\n");
447#endif
448 return GNUNET_OK;
449}
450
451
452#if MINGW 346#if MINGW
453static char * 347static char *
454CreateCustomEnvTable (char **vars) 348CreateCustomEnvTable (char **vars)