--- ray/src/common/rtprocess.h 2003/06/26 00:58:09 3.1 +++ ray/src/common/rtprocess.h 2003/10/21 19:19:28 3.5 @@ -1,4 +1,4 @@ -/* RCSid $Id: rtprocess.h,v 3.1 2003/06/26 00:58:09 schorsch Exp $ */ +/* RCSid $Id: rtprocess.h,v 3.5 2003/10/21 19:19:28 schorsch Exp $ */ /* * rtprocess.h * Routines to communicate with separate process via dual pipes @@ -7,26 +7,22 @@ */ #ifndef _RAD_PROCESS_H_ #define _RAD_PROCESS_H_ -#ifdef __cplusplus -extern "C" { -#endif - -#include "copyright.h" - -#include +#include #ifdef _WIN32 - #include + #include /* DWORD etc. */ + typedef DWORD pid_t; + #include /* getpid() and others */ + #define nice(inc) win_nice(inc) #else #include - #include #endif -#ifndef BSD -#include -#endif #include "paths.h" +#ifdef __cplusplus +extern "C" { +#endif /* On Windows, a process ID is a DWORD. That might actually be the same thing as an int, but it's better not to assume anything. @@ -35,15 +31,8 @@ extern "C" { being the same type, so we have to describe processes with a struct, instead of the original int[3]. To keep things simple, we typedef the posix pid_t on those systems that don't have it already. - - Some older Windows systems use negative PIDs. Open_process() and - close_process() will convert those to positive values during - runtime, so that client modules can still use -1 as invalid PID. */ -#ifdef _WIN32 - typedef DWORD pid_t; -#endif #ifndef PIPE_BUF #ifdef PIPSIZ @@ -71,6 +60,11 @@ extern int close_process(SUBPROC *pd); extern int process(SUBPROC *pd, char *recvbuf, char *sendbuf, int nbr, int nbs); extern int readbuf(int fd, char *bpos, int siz); extern int writebuf(int fd, char *bpos, int siz); + +#ifdef _WIN32 +/* any non-negative increment will send the process to IDLE_PRIORITY_CLASS. */ +extern int win_nice(int inc); +#endif #ifdef __cplusplus