Hallo Martin,

Du schriebst am Mon, 29 Aug 2011 07:46:35 +0200:

> > The line via stderr seems to be inserted erratically, or rather
> > _immedately_ after being issued, irrespecting the output state of the
> > stdout derived lines. The linux terminal queues them correctly.
> 
> True. How to fix? stdout and stderr pipereader both run in an own thread.

Synchronize them via a semaphore or something similar?
The stdout lines seem to be issued sequentially, possibly even through a
single write on the part of the called program. This should be carried
through to the output procedure for display - as long as something was
received from stdout and not displayed fully, the semaphore should stay
locked. Afterwards, the line received via stderr can be displayed, and the
reader process should lock the semaphore for itself, so stdout text cannot
be displayed until stderr is finished with its current activity.

_Does_ your display procedure allow for asynchrounously mixing text from
different writers? If so, the above method should help.

-- 
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------

_______________________________________________
MSEide-MSEgui-talk mailing list
MSEide-MSEgui-talk@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/mseide-msegui-talk

Reply via email to