This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++filt causing flashing console windows


Ranjit Mathew writes:
 > Andrew Haley wrote:
 > > Øyvind Harboe writes:
 > >  > > > -Dgnu.gcj.runtime.NameFinder.demangle=false
 > >  > > > -Dgnu.gcj.runtime.NameFinder.use_addr2line=false
 > >  > >
 > >  > >Surely the bug is not here.  exec'ing c++filt and addr2line 
 > >  > >should not cause anything to flash, and that is the bug.
 > >  > 
 > >  > Flashing isn't a very accurate technical term, I guess. :-)
 > >  > 
 > >  > When a GCJ application compiled with w/-mwindows
 > >  > launches a console application (e.g. addr2line), a console
 > >  > window is created for that application.
 > > 
 > > But addr2line isn't a console application; it simply writes to stdout.
 > 
 > It is - and so is c++filt. The "console" part refers not to a GUI
 > console but to something more like a dumb TTY.

In which case, why is a window created?  Runtime.exec() starts a
process with its stdin, stdout, and stderr attached to the parent
process.  In this case, there is no way that the "console" can be used
to do I/O.

 > The "console" is what gives the application the standard stdout,
 > stderr and stdin streams. If an application does not use these
 > streams and gets its input from elsewhere (GUI events), then it can
 > be compiled with "-mwindows" (on MinGW) to omit the Command Prompt
 > window that would be shown otherwise.
 > 
 > If a GUI application spawns a console application, Windows will
 > launch the application with an attached console (a Command Prompt
 > window).

But that makes no sense in the context of Runtime.exec(), which
creates an instance of Process.  The Java spec says:

"The created subprocess does not have its own terminal or console."

How much clearer can it be?

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]