Re: TRint and stty

Fons Rademakers (Fons.Rademakers@cern.ch)
Mon, 21 Jul 1997 17:37:34 +0200


Hi Christoph,

TRint indirectly (via the Getline routines) changes your
tty settings to be able to do command line editing (raw mode).
On normal exit your original settings will be correctly
restored. However, if you crash out of ROOT your old
settings will not be restored. In such case try "tty sane",
or source a script that sets your tty back to the way you
like it.

Cheers, Fons.

Christoph Borgmeier wrote:
>
> Hello,
>
> what am I doing wrong, if my application using a TRint object changes my
> tty settings? I copied the part of hworld.cxx:
>
> -------------------------------------------------------------
> extern void InitGui();
> VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
> int Error; // needed by Motif
>
> TROOT root("troot","troot title", initfuncs);
>
> TRint* theApp;
>
> int main( int argc, char *argv[] )
> {
> ...
> theApp = new TRint("App", &argc, argv);
> ...
> theApp->Run();
> ...
> delete theApp;
> return 0;
> }
> ------------------------------------------------------------
>
> this code changes
>
> ~/dir $ stty
> speed 9600 baud; -parity
> line = 1; intr = ^C;
> brkint -inpck -istrip icrnl -ixany onlcr
> -iexten echo echoe echok echoke -echoctl
>
> to
>
> ~/dir $ stty
> speed 9600 baud; -parity
> line = 1; intr = ^C; eof = ^A;
> ignbrk -inpck -istrip icrnl -ixon onlcr
> -isig -iexten echo echoe echok echoke -echoctl
>
> I call some `KUEXEC's in the lifetime of the TRint. Can that do any harm?
>
> Christoph
>
> ---------------------------------------------------------------------------
> Christoph Borgmeier | Mail: DESY -F15-, Notkestr. 85, 22607 Hamburg
> Humboldt Univ Berlin | Phone: +49 40 8998 2844
> Email: borg@ifh.de |
> ---------------------------------------------------------------------------

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland          Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch              Fax:   +41 22 7677910