84 */
85 #define MODE_FORK 1
86 #define MODE_POSIX_SPAWN 2
87 #define MODE_VFORK 3
88 #define MODE_CLONE 4
89
90 typedef struct _ChildStuff
91 {
92 int in[2];
93 int out[2];
94 int err[2];
95 int fail[2];
96 int childenv[2];
97 int fds[3];
98 int mode;
99 const char **argv;
100 int argc;
101 const char **envv;
102 const char *pdir;
103 int redirectErrorStream;
104 } ChildStuff;
105
106 /* following used in addition when mode is SPAWN */
107 typedef struct _SpawnInfo {
108 int nargv; /* number of argv array elements */
109 int argvBytes; /* total number of bytes in argv array */
110 int nenvv; /* number of envv array elements */
111 int envvBytes; /* total number of bytes in envv array */
112 int dirlen; /* length of home directory string */
113 int nparentPathv; /* number of elements in parentPathv array */
114 int parentPathvBytes; /* total number of bytes in parentPathv array */
115 } SpawnInfo;
116
117 /**
118 * The cached and split version of the JDK's effective PATH.
119 * (We don't support putenv("PATH=...") in native code)
120 */
121 const char * const *parentPathv;
122
123 ssize_t restartableWrite(int fd, const void *buf, size_t count);
|
84 */
85 #define MODE_FORK 1
86 #define MODE_POSIX_SPAWN 2
87 #define MODE_VFORK 3
88 #define MODE_CLONE 4
89
90 typedef struct _ChildStuff
91 {
92 int in[2];
93 int out[2];
94 int err[2];
95 int fail[2];
96 int childenv[2];
97 int fds[3];
98 int mode;
99 const char **argv;
100 int argc;
101 const char **envv;
102 const char *pdir;
103 int redirectErrorStream;
104 const char* error_detail;
105 } ChildStuff;
106
107 /* following used in addition when mode is SPAWN */
108 typedef struct _SpawnInfo {
109 int nargv; /* number of argv array elements */
110 int argvBytes; /* total number of bytes in argv array */
111 int nenvv; /* number of envv array elements */
112 int envvBytes; /* total number of bytes in envv array */
113 int dirlen; /* length of home directory string */
114 int nparentPathv; /* number of elements in parentPathv array */
115 int parentPathvBytes; /* total number of bytes in parentPathv array */
116 } SpawnInfo;
117
118 /**
119 * The cached and split version of the JDK's effective PATH.
120 * (We don't support putenv("PATH=...") in native code)
121 */
122 const char * const *parentPathv;
123
124 ssize_t restartableWrite(int fd, const void *buf, size_t count);
|