[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Another lintian release for squeeze?



Russ Allbery wrote:

> Raphael Geissert writes:
> 
>> I'm attaching both changes. Comments? suggestions?
> 
>> 0007 includes the first set of changes of Lintian::Command::Simple. In
>> the .t file I was trying to decide the best way to handle multiple jobs
>> while still being able to recognise which one is reaped.
> 
> Is there any way that we can fix the output handling so that at least it
> won't intersperse output from multiple threads?  Making failures basically
> unreadable is unappealing, and I assume that's the possible result.  Can
> we use some sort of locking method so that only one thread is printing
> stuff to the terminal at a time and finishes dumping its stuff, including
> its possible diff, before letting someone else go?

I don't think it's possible to lock the file descriptors. A possible 
solution is to open two file descriptors for every thread, replacing their 
STDOUT/STDERR. Another thread would be started and would take care of 
multiplexing with select(). Probably using IO::Multiplex.

> 
> In parallel mode, we should stop printing partial status (building,
> testing, OK) etc. and just print out the complete line to the point that
> we got and then the failure results if any all at once.  That will work
> better with the output handling.

It might still be possible to print that information in the last printable 
line, a-la prove's -j.

Since doing this is going to take some time, is there any objection for 
merging the initial -j option support to at least make prove run multiple 
jobs? (i.e. not merging the 'use threads' part.)

Cheers,
-- 
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net



Reply to: