63
63
import com .oracle .graal .python .builtins .objects .list .PList ;
64
64
import com .oracle .graal .python .builtins .objects .object .PythonObjectLibrary ;
65
65
import com .oracle .graal .python .builtins .objects .str .PString ;
66
- import com .oracle .graal .python .nodes .expression .CastToBooleanNode ;
67
66
import com .oracle .graal .python .nodes .expression .CastToListExpressionNode .CastToListNode ;
68
67
import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
69
68
import com .oracle .graal .python .nodes .function .PythonBuiltinNode ;
@@ -235,13 +234,10 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
235
234
Object restore_signals , Object call_setsid , PNone preexec_fn ,
236
235
@ Cached CastToListNode castArgs ,
237
236
@ Cached CastToListNode castExecList ,
238
- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castCloseFds ,
239
237
@ Cached CastToListNode castFdsToKeep ,
240
238
@ Cached CastToJavaStringNode castCwd ,
241
239
@ Cached CastToListNode castEnv ,
242
- @ CachedLibrary (limit = "3" ) PythonObjectLibrary lib ,
243
- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castRestoreSignals ,
244
- @ Cached ("createIfTrueNode()" ) CastToBooleanNode castSetsid ) {
240
+ @ CachedLibrary (limit = "3" ) PythonObjectLibrary lib ) {
245
241
246
242
String actualCwd ;
247
243
if (cwd instanceof PNone ) {
@@ -257,7 +253,8 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
257
253
actualEnv = castEnv .execute (frame , env );
258
254
}
259
255
260
- return forkExec (castArgs .execute (frame , args ), castExecList .execute (frame , executable_list ), castCloseFds .executeBoolean (frame , close_fds ),
256
+ return forkExec (castArgs .execute (frame , args ), castExecList .execute (frame , executable_list ),
257
+ lib .isTrueWithState (close_fds , PArguments .getThreadState (frame )),
261
258
castFdsToKeep .execute (frame , fdsToKeep ), actualCwd , actualEnv ,
262
259
lib .asSizeWithState (p2cread , PArguments .getThreadState (frame )),
263
260
lib .asSizeWithState (p2cwrite , PArguments .getThreadState (frame )),
@@ -267,7 +264,8 @@ int forkExecDefault(VirtualFrame frame, Object args, Object executable_list, Obj
267
264
lib .asSizeWithState (errwrite , PArguments .getThreadState (frame )),
268
265
lib .asSizeWithState (errpipe_read , PArguments .getThreadState (frame )),
269
266
lib .asSizeWithState (errpipe_write , PArguments .getThreadState (frame )),
270
- castRestoreSignals .executeBoolean (frame , restore_signals ), castSetsid .executeBoolean (frame , call_setsid ), preexec_fn );
267
+ lib .isTrueWithState (restore_signals , PArguments .getThreadState (frame )),
268
+ lib .isTrueWithState (call_setsid , PArguments .getThreadState (frame )), preexec_fn );
271
269
}
272
270
}
273
271
}
0 commit comments