Menu

#442 TIP #240 (An Ensemble Command to Manage Processes)

TIP Implementation
open
5
2005-10-07
2005-10-06
Steve Bold
No

* Most of the new code is in TclIOCmd.c which is
getting quite large, another possibility is a new file
TclProcess.c

* A new platform specific function TclGetProcessStatus
() is like Tcl_WaitPid() but provides a platform
independent means of indicating the error condition if an
invalid process id is specified. I don’t think Tcl_WaitPid
() can do this given its current interface

* A new platform specific function Tcl_GetPidHandle() is
the converse of Tcl_GetPid()

* TclpCreateProcess() was inconsistent in its treatment
of NULL TclFile’s – on UNIX is meant use the parent
channels, on Windows it meant leave them
disconnected. TclCreatePipeline() always connects them
(as far as I can tell), I’ve changed the UNIX
implementation to be consistent with that on Windows.

* Successfully runs the examples shown in the TIP on
Solaris 2.8 and Windows XP and no regressions seen in
existing tests

* I’ve not done anything special for macosx

* new tests and docs not yet done

Discussion

  • Donal K. Fellows

    • labels: 310749 --> 24. Channel Commands
    • assigned_to: dkf --> andreas_kupries
     
  • Steve Bold

    Steve Bold - 2005-10-07

    Logged In: YES
    user_id=810219

    I entered a filename for the patch file but forgot to check the
    box. Let's try again.

     
  • Steve Bold

    Steve Bold - 2005-10-07
     
  • Steve Bold

    Steve Bold - 2005-10-07

    Logged In: YES
    user_id=810219

    I entered a filename for the patch file but forgot to check the
    box. Let's try again.

     
  • Steve Bold

    Steve Bold - 2005-10-07
    • summary: TIP 240 --> TIP #240 (An Ensemble Command to Manage Processes)