Author ggenellina
Recipients amaury.forgeotdarc, eckhardt, ggenellina, javen72
Date 2009-01-15.03:29:16
SpamBayes Score 0.0109752
Marked as misclassified No
Message-id <1231990164.42.0.611937971289.issue4944@psf.upfronthosting.co.za>
In-reply-to
Content
I patiently waited for all those 150MB to download, modified Misc.py, 
run the specified commands and got this error:

build.py...
 : error 7000: Failed to start command
        C:\Program Files\Microsoft Visual Studio 8\Vc\bin\nmake.exe /
nologo -s t
build [C:\test\edk2\Build\MdeModule\DEBUG_MYTOOLS\IA32\MdePkg\Library
\BasePrintL
ib\BasePrintLib]

That's right - VS is installed in another place. "C:\Program Files" 
doesn't even exist in my Spanish version of Windows. edksetup.bat 
didn't report any error, and I have nmake.exe in my PATH.

Anyway, trying to hunt a bug in the middle of 150 MB of code is way too 
much. You should try to reduce it to the smallest piece that still 
shows the problem. 

(As a side note, a project so big SHOULD have plenty of unit tests, but 
I see they're almost inexistant. Having to write tests forces people to 
use a more modular design. In this case, probably it would have been 
easier to test this issue, in a more isolated way, without having to 
bring the whole framework in).

Multithreaded programs may be tricky. Looking at the 
_MultiThreadBuildPlatform method (we're talking of it, right?) it isn't 
obvious that there are no race conditions in the code.

For a producer-consumer process like this, I would use a pool of worker 
threads, all waiting for work to do from a Queue, and a main (producer) 
thread that puts tasks to be done into the Queue. The synchronization 
is already done for you, it's almost automatic.

I've modified my previous example to show this usage.

Unless you can bring more evidence that this is a real Python issue and 
not a race condition in your code or something, I'd recommend to close 
this as invalid.
History
Date User Action Args
2009-01-15 03:29:24ggenellinasetrecipients: + ggenellina, amaury.forgeotdarc, eckhardt, javen72
2009-01-15 03:29:24ggenellinasetmessageid: <1231990164.42.0.611937971289.issue4944@psf.upfronthosting.co.za>
2009-01-15 03:29:22ggenellinalinkissue4944 messages
2009-01-15 03:29:20ggenellinacreate