Other ecpg thread unsafety

From: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
To: Michael Meskes <meskes(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Other ecpg thread unsafety
Date: 2007-09-26 08:56:59
Message-ID: 20070926173225.1936.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2007-09-26 09:13:06 Re: SetBufferCommitInfoNeedsSave and race conditions
Previous Message Stefan Kaltenbrunner 2007-09-26 08:54:07 Re: pgcrypto & strong ciphers limitation