Martin v. Loewis martin at
Mon Apr 19 17:18:31 EDT 2010

omnia neo wrote:
> Hi All,
> I am working on porting python on vxworks and hence was updating the PC
> \pyconfig.h file for configurng python. As I am reading the file and
> updating manually I come across lot many preprocessor directives which
> I dont understand e.g. HAVE_NICE etc. May be this is standard
> nomenclature and I am not aware of it.
> My point and qwery is that how can I get info about all these
> directives. I am perplexed to enable or disable any of them with half
> knowledge.

See the main for comments when to define each of these
macros. HAVE_NICE should be defined if you have (i.e. your system has)
the nice() function.


NICE(P)               POSIX Programmer's Manual               NICE(P)

       nice - change the nice value of a process

       #include <unistd.h>

       int nice(int incr);

       The  nice()  function  shall add the value of incr to the nice
       value of the calling process. A process' nice value is a  non-
       negative  number  for which a more positive value shall result
       in less favorable scheduling.

       A maximum nice value of 2*{NZERO}-1 and a minimum  nice  value
       of 0 shall be imposed by the system. Requests for values above
       or below these limits shall result in the nice value being set
       to  the  corresponding  limit. Only a process with appropriate
       privileges can lower the nice value.

       Calling the nice() function has no effect on the  priority  of
       processes  or  threads with policy SCHED_FIFO or SCHED_RR. The
       effect on processes or threads with other scheduling  policies
       is implementation-defined.

       The  nice  value  set  with  nice()  shall  be  applied to the
       process.  If the process is  multi-threaded,  the  nice  value
       shall affect all system scope threads in the process.

       As -1 is a permissible return value in a successful situation,
       an application wishing to check for  error  situations  should
       set  errno to 0, then call nice(), and if it returns -1, check
       to see whether errno is non-zero.

       Upon successful completion, nice() shall return the  new  nice
       value  -{NZERO}. Otherwise, -1 shall be returned, the process'
       nice value shall not be changed, and errno  shall  be  set  to
       indicate the error.
       indicate the error.

       The nice() function shall fail if:

       EPERM  The  incr  argument is negative and the calling process
              does not have appropriate privileges.

       The following sections are informative.

   Changing the Nice Value
       The following example adds the value  of  the  incr  argument,
       -20, to the nice value of the calling process.

              #include <unistd.h>
              int incr = -20;
              int ret;

              ret = nice(incr);




       getpriority() , setpriority() , the Base Definitions volume of
       IEEE Std 1003.1-2001, <limits.h>, <unistd.h>

       Portions of this text are reprinted and  reproduced  in  elec‐
       tronic  form  from IEEE Std 1003.1, 2003 Edition, Standard for
       Information Technology -- Portable Operating System  Interface
       (POSIX), The Open Group Base Specifications Issue 6, Copyright
       (C) 2001-2003 by the Institute of Electrical  and  Electronics
       Engineers,  Inc  and  The Open Group. In the event of any dis‐
       crepancy between this version and the original  IEEE  and  The
       Open  Group  Standard,  the  original  IEEE and The Open Group
       Standard is the referee document. The original Standard can be
       obtained online at .

IEEE/The Open Group              2003                         NICE(P)

More information about the Python-list mailing list