http://qs321.pair.com?node_id=874574


in reply to XS replacing my c library, not compatible with OS threads

Yep. The default behavior is great for core perl development but can be a major headache for green XS and embedding authors.

The 'secret' is to #define NO_XSLOCKS before including XSUB.h. If left undefined, XSUB.h will redefine a long list of functions/macros (including free, malloc, and exit) with internal versions.