#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 by , 19 years ago
Status: | new → assigned |
---|
comment:2 by , 19 years ago
Severity: | normal → enhancement |
---|
comment:3 by , 19 years ago
Milestone: | → qt-os2-3.3.1-rc07 |
---|
comment:4 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
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.