[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reprise: external pager quitting kills standard error
From: |
John W. Eaton |
Subject: |
Re: Reprise: external pager quitting kills standard error |
Date: |
Thu, 10 Feb 2005 14:36:21 -0500 |
On 10-Feb-2005, Dmitri A. Sergatskov <address@hidden> wrote:
| I recompiled octave on solaris with gcc-3.4.3 (the one that I have on
| FC3 systems) and I still do not see problem on solaris.
|
| I cannot trigger it on 2xPPro 200 MHz (RH9, gcc-3.2.2-5) nor on
| SparcII/Solaris8 (440 MHz) with either gcc-3.3.3 or gcc-3.4.3.
|
| It triggers easily on Celeron laptop (1000MHz) (FC3 gcc-3.4.2),
| more often then not on 2xAthlonMP 2000MHz and seldom on
| AtlonXP 1666 MHz (last two - FC3 with gcc 3.4.3-17).
OK, so this seems like it must be a race condition. My guess now is
that the signal arrives when some output is already happening and then
we print to std::cerr and that screws up the stream state so that
subsequent output to std::cerr is dropped. It seems like the solution
to this problem is to handle these signals the way we now handle
interrupts, by setting a global flag and then dealing with the event
when it is safe (i.e., with OCTAVE_QUIT).
jwe