non blocking mode bug? - Mailing list pgsql-hackers

From Erik Hofman
Subject non blocking mode bug?
Date
Msg-id 3A8BB936.BB0CEB6@ehofman.com
Whole thread Raw
List pgsql-hackers

Hi,

I realy get into problems witht his one.

I've made an Irix nss library which connects to postgresql.
But somehow the backend doesn;t get into active status.

The blocking PQconnectdb halts until timeout (if i ignore the
errormessage, the results return right after the timeout has expired).

By using the non blocking function PQconnectStart() and using a callback
function and the select() mainloop of the nss daemon, the status of
PQconnectPoll() doesn't turn into PGRESS_POLLING_OK.

In the callback routine I check for PGRESS_POLLING_OK, but it never gets
active!

I put this little piece of code in the callback function for testing,
but the syslogs says this routine is called 6300 times before timeout.

It seems libpq is sending data to the socket as if it were ready, but it
doesn't get the PGRESS_POLLING_OK status!

nsd_callback_remove(PQsocket(pgc));

if (pgs != PGRES_POLLING_OK) {  nsd_callback_new(PQsocket(pgc), (void *)(ns_psql_ccb(file, pgc, s)),
NSD_READ);  return;
}
nsd_timeout_remove(file);

Does anybody have any idea about this problem?

I might be nss_daemon or even Irix reletaed, but i don't get a way to
check this out :(

Erik


pgsql-hackers by date:

Previous
From: Manuel Cabido
Date:
Subject: Re: Open 7.1 items
Next
From: Tom Lane
Date:
Subject: Re: floating point representation