
I found a killed (BUG-FIX #2): It only existed in the Low-Level IA-32 Abstraction C API/ABI. It had to do with the fact that the g_spinlock_ia32_table_mem, g_spinlock_ia32_table global variables and the spinlock_ia32_libinit(void) function were declared static. These dosen't work well with multiple translation units; you can get multiple copies of the table per-process. I added the 'spinlock-ia32.c' file to the library in order to keep a global copy of the locking table. Of course, this particular bug didn't show up before because all of my initial test applications only consisted of a single translation unit! I had to add this file: http://appcore.home.comcast.net/vzoom/refcount/spinlock-ia32.c And alter this one: http://appcore.home.comcast.net/vzoom/refcount/spinlock-ia32.h You should probably re-download: http://appcore.home.comcast.net/vzoom/refcount/refcount-ia32-0-0-0-2.zip Thank You.