Sorry, a typo in my previous message see below....
Joe Murphy wrote:
> I'm having some problems with a multi-threaded application using libpq:
> Some details:
> OS: Solaris 2.6
> Postgres version 7.2.1
> When my application starts up the main thread (1) connects using
> PQsetdbLogin() which is successful
> Another thread (5 for example) issues queries over this connection.
> My test is stopping postgres (KILL -INT) and testing if my application
> detects the backend failure and
> tries to re-connect.
> Thread 5 issues a PQexec and discovers the error upon which thread 5
> tries to reconnect (after calling PQfinish)
> This reconnection HANGS, here is a stack trace:
> ee037438 poll (ed906e48, 1, ffffffff)
> ee04cc74 select (ed906e50, ed908ea8, ed908f28, ed908eac,
> ed908f2c, 4) + 280
> ee69e010 pqWait (0, 1, 485e8, 1, 81010100, ee0882cc) + 1d8
> ee695178 connectDBComplete (485e8, 0, ee0a3180, 0, efffebc0,
> ee086858) + f8
> ee69484c PQsetdbLogin (45e28, ed9091a2, 0, 0, 45d68, 45e40) + 558
> All access using the connection is serialized using a mutex.
> I've tried the same test but with everything running in thread 1 and it
> works OK.
> I've managed to spot some differences between the two tests:
> Multi Threaded test:
This should read "Single Threaded Test"
> The re-connect underlying call to connect returns -1 and sets errno to
> 146 (connection refused)
> Single Threaded test:
This should read Multi Threaded test
> The re-connect underlying call to connect returns -1 and errno = 0, so
> it thinks the connection is "in progress" and tries
> to complete the connection - but hangs on the select (poll)
> Any help or ideas greatly appreciated,
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
Joe Murphy - AerSoft Limited
2 Northumberland Avenue, Dun Laoghaire, Co. Dublin.
phone: +353-1-2301166 direct: +353-1-2145953 fax: +353-1-2301167
mailto:joe(at)aersoft(dot)com mobile: +353-86-8526181 http://www.aersoft.com
In response to
pgsql-interfaces by date
|Next:||From: Tom Lane||Date: 2002-09-05 14:19:24|
|Subject: Re: libpq, threads and connection reset |
|Previous:||From: Joe Murphy||Date: 2002-09-05 12:44:37|
|Subject: libpq, threads and connection reset|