[Scons-users] sconsign recovery after segfault
    William Deegan 
    bill at baddogconsulting.com
       
    Sat Oct 27 16:24:00 EDT 2012
    
    
  
John,
On Oct 24, 2012, at 10:09 AM, John Galbraith <jgalb at lanl.gov> wrote:
> I am using scons to keep a lot of numerical computations up to date as I update input decks or numerical models.  Most of those computations are performed in C++ (boost::python, actually) to avoid the annoying global interpreter lock (GIL) that renders python so useless on multicore machines.
> 
> On occasion (ahem) my C++ extensions crash. 8-(  Scons in this case does not exit gracefully with the unfortunate side effect that my .sconsign gets corrupted or lost (not sure which), and I lose the whole dependency state.  So basically, when my extension crashes, every target in the whole build system becomes out of date as far as scons is concerned.  This costs a lot of flops to recover and defeats the purpose of using a fancy build system like scons.
> 
> Is there any way for scons to protect itself from broken extension calls, and at least flush .sconsign before surrendering to no-fault flaming death?
So you're pulling your c extension into your SCons invocation and running it in process in SCons?
Sounds like generally a bad idea.
Make it run in a command run by SCons, that way if it crashes, SCons will still write a proper .sconsign
-Bill
    
    
More information about the Scons-users
mailing list