Wierd problem in linux 2.4.18-bf2.4, Java Blackdown-1.4.2-rc1 (Solved)

Ronald Klop ronald-freebsd8 at klop.yi.org
Tue Jun 28 22:51:30 GMT 2005


On Tue, 28 Jun 2005 08:25:12 +0200, Achilleus Mantzios  
<achill at matrix.gatewaynet.com> wrote:

> O Ronald Klop έγραψε στις Jun 27, 2005 :
>
>> On Mon, 27 Jun 2005 11:14:14 +0200, Achilleus Mantzios
>> <achill at matrix.gatewaynet.com> wrote:
>>
>> >
>> > Forgot my homework....
>> > A classic (lack of) consumption of output situation,
>> >
>> >> From the java docs:
>> >
>> >  The Runtime.exec methods may not work well for special processes on
>> > certain native platforms, such as native windowing processes, daemon
>> > processes, Win16/DOS processes on Microsoft Windows, or shell scripts.
>> > The
>> > created subprocess does not have its own terminal or console. All its
>> > standard io (i.e. stdin, stdout, stderr) operations will be  
>> redirected to
>> > the parent process through three streams (Process.getOutputStream(),
>> > Process.getInputStream(), Process.getErrorStream()). The parent  
>> process
>> > uses these streams to feed input to and get output from the  
>> subprocess.
>> > Because some native platforms only provide limited buffer size for
>> > standard input and output streams, failure to promptly write the input
>> > stream or read the output stream of the subprocess may cause the
>> > subprocess to block, and even deadlock.
>> >
>> >
>> > Sorry for the noise, the situation can pretty well
>> > occur in FreeBSD too when pipe output buffer reaches its limit,
>> > and at the end of the day i think someone maybe will find this
>> > useful in the future.
>>
>> I always create two threads to copy the output of stdout and stderr to
>> some place. (/dev/null or a file or System.out). In java 5 you can  
>> combine
>> stdout and stderr, so you only need 1 thread.
>>
>
> Right, altho doing
>> dev/null 2>&1
> in the script itself, saves the extra code.

I know scripting. We were talking about Java.
Coding in java expecting a script is doing something you like is not  
failsafe.


-- 
  Ronald Klop
  Amsterdam, The Netherlands


More information about the freebsd-java mailing list