Thomas> I always wondered why (apparently) SWIG does not release the Thomas> lock before calling into C code and acquire it back afterwards. Because it can't tell if the C code it's going to call will or won't make a call back to Python. In most cases that would work, but in a few cases it could lead to nasty bugs. Skip