I looked for another thread-unsafe usage of variables like prep_stmts,
and I found the 4 possibly-unsafe ones:
[1] all_descriptors in ecpg/ecpglib/descriptor.c: Management of descriptors used by SQL DESCRIPTOR is not safe.
[2] auto_allocs in ecpg/ecpglib/memory.c: All memory allocation for statements are not safe.
[3] nextStmtID in ecpg/ecpglib/prepare.c: Increment is not safe in ECPGauto_prepare().
[4] stmtCacheEntries in ecpg/ecpglib/prepare.c: Reading/writing are not safe in ECPGauto_prepare().
I'm not convinced that all of the above are completely dangerous,
but [2] might affect all of users writing multi-threaded ecpg programs...
Are there any bugs we should fix?
Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center