Logo Search packages:      
Sourcecode: pwlib version File versions  Download package

BOOL PPipeChannel::Execute (  )

Start execution of sub-program for platforms that do not support multi-processing, this will actually run the sub-program passing all data written to the PPipeChannel.

For platforms that do support concurrent multi-processing this will close the pipe from the current process to the sub-process.

As the sub-program is run immediately and concurrently, this will just give an end of file to the stdin of the remote process. This is often necessary.

Returns:
TRUE if execute was successful.

Definition at line 479 of file msdos.cxx.

References PChannel::ConvertOSError(), PChannel::os_handle, and subProgName.

Referenced by Close(), and Read().

{
  if (hasRun)
    return FALSE;

  flush();
  if (os_handle >= 0) {
    _close(os_handle);
    os_handle = -1;
  }

  if (!ConvertOSError(system(subProgName)))
    return FALSE;

  if (!fromChild.IsEmpty()) {
    os_handle = _open(fromChild, _O_RDONLY);
    if (!ConvertOSError(os_handle))
      return FALSE;
  }

  return TRUE;
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index