All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bernhard Fischer <rep.nop@aon.at>
To: buildroot@busybox.net
Subject: [Buildroot] nice() seems to have stopped working?
Date: Wed, 18 Oct 2006 22:35:12 +0200	[thread overview]
Message-ID: <20061018203512.GE5119@aon.at> (raw)
In-Reply-To: <45366DDA.9050504@lambsys.com>

On Wed, Oct 18, 2006 at 01:09:30PM -0500, David Lambert wrote:
>Since moving to this distribution, I notice that some of my programs 
>that use nice() give errors when attempting to raise their priorities. 
>In order to try and nail this down I wrote the following trivial program:
>
>#include <stdio.h>
>#include <stdlib.h>
>#include <string.h>
>#include <unistd.h>
>
>int	main(int ac, char *av[])
>{
>  int n = atoi(av[1]);
>  printf("Trying nice(%d)\n", n);
>  if (nice(n) < 0) {		/* Attempt to change priority */
>    perror("Nice failed to change priority");
>  }
>  else {
>    printf("Success\n");
>  }
>  return 0;
>}
>
>
>Running this program as root provides the following output:
>
>/ # whoami
>root
>/ # niceTest 0
>Trying nice(0)
>Success
>/ # niceTest 1
>Trying nice(1)
>Success
>/ # niceTest -1
>Trying nice(-1)
>Nice failed to change priority: Success
>/ #
>
>Has anyone else experience this behavior?
>
>Best regards,
>
>Dave.

hm?

See man 2 nice
[snip]
NOTES
       SUSv2 and POSIX.1-2001 specify that nice() should return the  new nice
       value.  However, the Linux syscall and the nice() library function pro-
       vided in older versions of (g)libc (earlier than glibc 2.2.4) return  0
       on success.  The new nice value can be found using getpriority(2).

       Since  glibc  2.2.4,  nice()  is implemented as a library function that
       calls getpriority(2) to obtain the new nice value to be returned to the
       caller.   With  this implementation, a successful call can legitimately
       return -1.  To reliably detect an error, set  errno  to  0 before  the
       call, and check its value when nice() returns -1.


PS: See uClibc/libc/sysdeps/linux/common/nice.c for the gory details.
HTH,

      reply	other threads:[~2006-10-18 20:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-18 18:09 [Buildroot] nice() seems to have stopped working? David Lambert
2006-10-18 20:35 ` Bernhard Fischer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061018203512.GE5119@aon.at \
    --to=rep.nop@aon.at \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.