On Tue, May 27, 2008 at 11:35:49AM +0200, Miklosi Attila wrote:
> Hi!
> 
> Our company has a long last problem by using libpq in multi-threaded
> programs. The libpq usually closes the programs without any error
> message or rarely giving the 'Invalid frontend message type 87' error.
> When asked you about this error message you gave the reply below. In the
> reply there is only one thing which is not clear... What does an
> 'active' query mean? Or how can we detect active queries on a PGconn?
> We have tried PQcancel() and PQreset() functions too, but they didn't
> help solving the problem.
> Our programs retrieve every result (PQgetResult() and PQclear()
> functions) that is pending on the server before reusing a PGconn.

The basic rule is: libpq is not reentrant. So you can't have two calls
referring to the same PGConn going at the same time. If you really are
serialising properly then it shouldn't be a problem. Are you doing
things like sending multiple queries in a single PQexec? Or something
else where the server might still be doing stuff?

Have a niec day,
-- 
Martijn van Oosterhout   <[EMAIL PROTECTED]>   http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while 
> boarding. Thank you for flying nlogn airlines.

Attachment: signature.asc
Description: Digital signature

Reply via email to