Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#5 closed enhancement (fixed)

Implement the QProcess class

Reported by: dmik Owned by: dmik
Priority: high Milestone: qt-os2-3.3.1-rc07
Component: kernel Version:
Severity: normal Keywords: QProcess
Cc:

Description

Many "real-world" Qt applications want to launch child processes. In order to have them ported to OS/2 we need to implement the QProcess class asap.

Change History (5)

comment:1 Changed 18 years ago by dmik

Status: newassigned

comment:2 Changed 18 years ago by dmik

Severity: normalenhancement

comment:3 Changed 18 years ago by dmik

Milestone: qt-os2-3.3.1-rc07

comment:4 Changed 18 years ago by anonymous

Resolution: fixed
Status: assignedclosed

The OS/2 implementation of QProcess is done.

For now, I use a 100ms window timer to poll stdout and stderr pipes of the child process and to check for its termination, just for simplicity (btw, the Win32 version does the same). But it's a fact, that in OS/2 we have a better solution to deal with pipes: DosSetNPipeSem. It allows us to create a single dedicated thread per all QProcess instances (i.e. per all child processes) that will monitor data arrival, which, in turn, will lead to more smooth readyReadStdout() and readyReadStderr() signal notifications. To monitor the process termination, we can also use a single thread that will call DosWaitChild?() to wait for all child processes.

Probably, this approach will be implemented later, depending on what experience we get with the current implementation.

comment:5 Changed 18 years ago by dmik

It was me who closed this ticket :)

Note: See TracTickets for help on using tickets.