ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/rtprocess.h
(Generate patch)

Comparing ray/src/common/rtprocess.h (file contents):
Revision 3.2 by greg, Fri Jun 27 06:53:21 2003 UTC vs.
Revision 3.9 by schorsch, Fri Nov 14 17:22:06 2003 UTC

# Line 7 | Line 7
7   */
8   #ifndef _RAD_PROCESS_H_
9   #define _RAD_PROCESS_H_
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
10  
11 < #include  <sys/types.h>
11 > #include  <errno.h>
12   #ifdef _WIN32
13 <  #include <windows.h>
13 >  #include <windows.h> /* DWORD etc. */
14 >  #include <stdio.h>
15 >  typedef DWORD pid_t;
16 >  #include <process.h> /* getpid() and others */
17 >  #define nice(inc) win_nice(inc)
18 >
19 >  #ifdef __cplusplus
20 >  extern "C" {
21 >  #endif
22 >  extern FILE *win_popen(char *command, char *type);
23 >  extern int win_pclose(FILE *p);
24 >  #ifdef __cplusplus
25 >  }
26 >  #endif
27 >
28 >  #define popen(cmd,mode) win_popen(cmd,mode)
29 >  #define pclose(p) win_pclose(p)
30   #else
31 +  #include <stdio.h>
32    #include <sys/param.h>
19  #include <unistd.h>
33   #endif
21 #ifndef BSD
22 #include  <errno.h>
23 #endif
34  
35   #include "paths.h"
36  
37 + #ifdef __cplusplus
38 + extern "C" {
39 + #endif
40  
41   /* On Windows, a process ID is a DWORD. That might actually be the
42     same thing as an int, but it's better not to assume anything.
# Line 32 | Line 45 | extern "C" {
45     being the same type, so we have to describe processes with a struct,
46     instead of the original int[3]. To keep things simple, we typedef
47     the posix pid_t on those systems that don't have it already.
35
36   Some older Windows systems use negative PIDs. Open_process() and
37   close_process() will convert those to positive values during
38   runtime, so that client modules can still use -1 as invalid PID.
48   */
49  
41 #ifdef _WIN32
42  typedef DWORD pid_t;
43 #endif
50  
51   #ifndef PIPE_BUF
52    #ifdef PIPSIZ
# Line 68 | Line 74 | extern int close_process(SUBPROC *pd);
74   extern int process(SUBPROC *pd, char *recvbuf, char *sendbuf, int nbr, int nbs);
75   extern int readbuf(int fd, char *bpos, int siz);
76   extern int writebuf(int fd, char *bpos, int siz);
77 +
78 + #ifdef _WIN32
79 + /* any non-negative increment will send the process to IDLE_PRIORITY_CLASS. */
80 + extern int win_nice(int inc);
81 + #endif
82  
83  
84   #ifdef __cplusplus

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines