Multithreading Segfaults :(

Andreas Ericsson ae at op5.se
Thu Aug 20 11:00:46 CEST 2009


Steven D. Morrey wrote:
> I think I've got it mostly worked out now. Turns out lots of
> functions call eachother, thereby producing a race.  The trick seems
> to be to ONLY lock the sections of code dealing directly with macro_x
> and not just the entire function dealing with macro_x itself. I'm
> going to give it  12hrs of run time and then I'll get a patch up for
> testing.
> 

The "right" way of doing that is to lock down the global arrays in a
single file and then publish a thread-safe API to manipulate it. The
thread-safeness can be taken care of by the simple expedient of adding
locks to start with, and later one can modify the functions so that
hostnames etc are added in a function-local stack-allocated array
instead, which could potentially increase performance quite a lot
(and also reduce memory fragmentation quite a bit).

-- 
Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july




More information about the Developers mailing list