From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: rush error messages
   Date: Sun, 20 Apr 2008 22:19:03 -0400
Msg# 1721
View Complete Thread (6 articles) | All Threads
Last Next
An Nguyen wrote:
> Hi Greg,
> I was wondering what file descriptor you use to output your
> rush: 'rush -laj': sendto(angel:696): No route to host
> messages to the terminal.
> 
> I've been trying redirect 2>/dev/null but the message still gets echoed 
> into the
> terminal. i've tried cmd  1>blah 2>bob to redirect them into files,
> but i still get that message outputted onto the terminal.
> 
> Just trying to remove these messages from the pipe input i'm trying to 
> use for my rush stats curses script.

	Yes, some error messages, such as those, are sent to stdout
	along with the normal output.

	The rule is any lines that start with "rush:" or "***"
	should be considered error messages.

	Though undocumented, this is actually dependable output
	you can parse for and rely on. I've made sure all error
	messages reported this way follow that specific format,
	and tools like irush and rushtop parse for this. For instance,
	this is how irush knows to print rush: errors and *** NO RESPONSE FROM
	errors in red, and knows not to split those lines into columns.
	
	The reason its in the stdout stream (and not stderr)
	is that with 'rush -lac/-laj/-status', the error messages
	must remain synchronized with the output so that eg. when
	the -c <repcount> and -s <secs> flags are used, you can
	determine which iteration the error output is associated with.

	Using stderr would have worked if rush was only unix, but I
	found early on when doing the windows port that windows is
	very unreliable about keeping stdout/stderr synchronized
	in pipes, and has KB articles that indicate this is a
	"problem" with no known resolutions.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

Last Next