Differences From Artifact [a1bb959d69]:
- File src/OFProcess.m — part of check-in [8892ae9fcc] at 2012-07-12 01:28:46 on branch trunk — Don't access isa directly. (user: js, size: 7817) [annotate] [blame] [check-ins using]
To Artifact [769871dec1]:
- File
src/OFProcess.m
— part of check-in
[1255f3a11a]
at
2012-08-10 20:08:24
on branch trunk
— Directly use the runtime's autorelease pools.
This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (user: js, size: 7808) [annotate] [blame] [check-ins using]
︙ | |||
22 23 24 25 26 27 28 | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | - + + | # include <unistd.h> # include <sys/wait.h> #endif #import "OFProcess.h" #import "OFString.h" #import "OFArray.h" |
︙ | |||
121 122 123 124 125 126 127 | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | - + | close(writePipe[0]); break; } #else SECURITY_ATTRIBUTES sa; PROCESS_INFORMATION pi; STARTUPINFO si; |
︙ | |||
156 157 158 159 160 161 162 | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | - + | si.cb = sizeof(si); si.hStdInput = writePipe[0]; si.hStdOutput = readPipe[1]; si.hStdError = GetStdHandle(STD_ERROR_HANDLE); si.dwFlags |= STARTF_USESTDHANDLES; |
︙ | |||
204 205 206 207 208 209 210 | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | - + | NULL, TRUE, 0, NULL, NULL, &si, &pi)) @throw [OFInitializationFailedException exceptionWithClass: [self class]]; } @finally { free(argumentsString); } |
︙ |