Object subclass:#Win32Process
instanceVariableNames:'command environment directory inStream outStream errorStream pid
exitStatus finishSema'
classVariableNames:''
poolDictionaries:''
category:'OS-Windows'
!
!Win32Process methodsFor:'accessing'!
command
"return the value of the instance variable 'command' (automatically generated)"
^ command
"Created: / 10.11.1998 / 21:27:07 / cg"
!
command:something
"set the value of the instance variable 'command' (automatically generated)"
command := something.
"Created: / 10.11.1998 / 21:27:07 / cg"
!
directory
"return the value of the instance variable 'directory' (automatically generated)"
^ directory
"Created: / 10.11.1998 / 21:21:52 / cg"
!
directory:something
"set the value of the instance variable 'directory' (automatically generated)"
directory := something.
"Created: / 10.11.1998 / 21:21:52 / cg"
!
environment
"return the value of the instance variable 'environment' (automatically generated)"
^ environment
"Created: / 10.11.1998 / 21:26:34 / cg"
!
environment:something
"set the value of the instance variable 'environment' (automatically generated)"
environment := something.
"Created: / 10.11.1998 / 21:27:07 / cg"
!
errorStream
"return the value of the instance variable 'errorStream' (automatically generated)"
^ errorStream
"Created: / 10.11.1998 / 21:26:34 / cg"
!
errorStream:something
"set the value of the instance variable 'errorStream' (automatically generated)"
errorStream := something.
"Created: / 10.11.1998 / 21:26:34 / cg"
!
exitStatus
"return the value of the instance variable 'exitStatus' (automatically generated)"
^ exitStatus
"Created: / 10.11.1998 / 21:24:55 / cg"
!
exitStatus:something
"set the value of the instance variable 'exitStatus' (automatically generated)"
exitStatus := something.
"Created: / 10.11.1998 / 21:24:55 / cg"
!
finishSema
"return the value of the instance variable 'finishSema' (automatically generated)"
^ finishSema
"Created: / 10.11.1998 / 21:21:53 / cg"
!
finishSema:something
"set the value of the instance variable 'finishSema' (automatically generated)"
finishSema := something.
"Created: / 10.11.1998 / 21:21:53 / cg"
!
inStream
"return the value of the instance variable 'inStream' (automatically generated)"
^ inStream
"Created: / 10.11.1998 / 21:26:34 / cg"
!
inStream:something
"set the value of the instance variable 'inStream' (automatically generated)"
inStream := something.
"Created: / 10.11.1998 / 21:26:34 / cg"
!
outStream
"return the value of the instance variable 'outStream' (automatically generated)"
^ outStream
"Created: / 10.11.1998 / 21:26:34 / cg"
!
outStream:something
"set the value of the instance variable 'outStream' (automatically generated)"
outStream := something.
"Created: / 10.11.1998 / 21:26:34 / cg"
!
pid
"return the value of the instance variable 'pid' (automatically generated)"
^ pid
"Created: / 10.11.1998 / 21:21:53 / cg"
!
pid:something
"set the value of the instance variable 'pid' (automatically generated)"
pid := something.
"Created: / 10.11.1998 / 21:21:53 / cg"
! !
!Win32Process methodsFor:'starting'!
startProcess
finishSema := Semaphore new.
pid := Processor
monitor:[
OperatingSystem
startProcess:command
inputFrom:inStream
outputTo:outStream
errorTo:errorStream
inDirectory:directory.
]
action:[:status |
status stillAlive ifFalse:[
exitStatus := status.
OperatingSystem closePid:pid.
finishSema signal
].
].
pid isNil ifTrue:[
exitStatus := self osProcessStatusClass processCreationFailure.
^ false
].
^ true.
"Created: / 10.11.1998 / 21:23:50 / cg"
"Modified: / 10.11.1998 / 21:33:16 / cg"
! !
!Win32Process class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libbasic/Win32Process.st,v 1.1 1998-11-11 15:01:21 cg Exp $'
! !