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.5 by schorsch, Tue Oct 21 19:19:28 2003 UTC vs.
Revision 3.11 by schorsch, Sat Oct 23 18:55:52 2004 UTC

# Line 11 | Line 11
11   #include  <errno.h>
12   #ifdef _WIN32
13    #include <windows.h> /* DWORD etc. */
14 <  typedef DWORD pid_t;
14 >  #include <stdio.h>
15 >  typedef DWORD RT_PID;
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 +  int win_kill(RT_PID pid, int sig /* ignored */);
25 +  #define kill(pid,sig) win_kill(pid,sig)
26 +  #ifdef __cplusplus
27 +  }
28 +  #endif
29 +
30 +  #define popen(cmd,mode) win_popen(cmd,mode)
31 +  #define pclose(p) win_pclose(p)
32   #else
33 +  #include <stdio.h>
34    #include <sys/param.h>
35 +  #include <sys/types.h>
36 +  typedef pid_t RT_PID;
37   #endif
38  
39   #include "paths.h"
# Line 29 | Line 47 | extern "C" {
47  
48     This means that we shouldn't rely on PIDs and file descriptors
49     being the same type, so we have to describe processes with a struct,
50 <   instead of the original int[3]. To keep things simple, we typedef
51 <   the posix pid_t on those systems that don't have it already.
50 >   instead of the original int[3]. For that purpose, we typedef a
51 >   platform independent RT_PID.
52   */
53  
54  
# Line 50 | Line 68 | typedef struct {
68          int r; /* read handle */
69          int w; /* write handle */
70          int running; /* doing something */
71 <        pid_t pid; /* process ID */
71 >        RT_PID pid; /* process ID */
72   } SUBPROC;
73  
74   #define SP_INACTIVE {-1,-1,0,0} /* for static initializations */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines