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.1 by schorsch, Thu Jun 26 00:58:09 2003 UTC vs.
Revision 3.8 by greg, Tue Nov 11 16:24: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  <errno.h>
12 + #ifdef _WIN32
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 < #include "copyright.h"
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 < #include  <sys/types.h>
29 < #ifdef _WIN32
19 <  #include <windows.h>
28 >  #define popen(cmd,mode) win_popen(cmd,mode)
29 >  #define pclose(p) win_pclose(p)
30   #else
31    #include <sys/param.h>
22  #include <unistd.h>
32   #endif
24 #ifndef BSD
25 #include  <errno.h>
26 #endif
33  
34   #include "paths.h"
35  
36 + #ifdef __cplusplus
37 + extern "C" {
38 + #endif
39  
40   /* On Windows, a process ID is a DWORD. That might actually be the
41     same thing as an int, but it's better not to assume anything.
# Line 35 | Line 44 | extern "C" {
44     being the same type, so we have to describe processes with a struct,
45     instead of the original int[3]. To keep things simple, we typedef
46     the posix pid_t on those systems that don't have it already.
38
39   Some older Windows systems use negative PIDs. Open_process() and
40   close_process() will convert those to positive values during
41   runtime, so that client modules can still use -1 as invalid PID.
47   */
48  
44 #ifdef _WIN32
45  typedef DWORD pid_t;
46 #endif
49  
50   #ifndef PIPE_BUF
51    #ifdef PIPSIZ
# Line 71 | Line 73 | extern int close_process(SUBPROC *pd);
73   extern int process(SUBPROC *pd, char *recvbuf, char *sendbuf, int nbr, int nbs);
74   extern int readbuf(int fd, char *bpos, int siz);
75   extern int writebuf(int fd, char *bpos, int siz);
76 +
77 + #ifdef _WIN32
78 + /* any non-negative increment will send the process to IDLE_PRIORITY_CLASS. */
79 + extern int win_nice(int inc);
80 + #endif
81  
82  
83   #ifdef __cplusplus

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines