[C++-sig] solaris-intel sem deadlock problem... :-/

Cameron Blackwood korg at csse.unimelb.edu.au
Thu Nov 10 06:14:11 CET 2005



Any ideas welcome.... im out of ideas... :-/



Summary:
--------
Semaphore code hangs when call from python module but not from c/c++.

Kill me....


Background:
-----------
Im working on a project that is a massive c++ piece of work that
offers a single object with useful methods.

Its a database and it starts 3 other processes and uses shared memory
and semaphores to communicate.

The c++ interface is the native one (and its kinda big at ~30M exe's).

It has a C interface which creates a dll of c++ code and wraps
each method call in a c function.

There is a python wrapper that wraps the c interface.


Problem:
--------
It works fine on linux-x86, linux-ppc64 and we're just porting to
solaris-intel but we've hit a problem.

The startup code for the c++ object does some forking and sem work and
it works fine for the c++ interface and the c interface but the python
module just hangs in the semaphore semget loop.

The constructor for the c++ object is called with the same args via
python or c (so its not that). 

We're using boost for config passing, but the boost config values are
the same.

The c interface works (so its not the dll).

It could be some solaris issue, but the c and c++ interfaces work
fine... its just the python interface.

:-(

Has anyone got _any_ ideas? Or am I in for a big chunk of c++
semaphore debugging? :-/ (refer to kill me comment ;)



cheers,
cam

--
 / Cameron Blackwood                       korg  at  csse.unimelb.edu.au \
[ Research Programmer, Aditi Project                     +61 3  8344-1315 ]
 \ University of Melbourne                                               /



More information about the Cplusplus-sig mailing list