Search Postgresql Archives

Re: libpq ASYNC with PQgetResult and PQisBusy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi again,

On 20dic, 2010, at 18:48 , Tom Lane wrote:

>> So, now I'm using the PQisBusy to check if postgre is still busy and I can safely call the PQgetResult wihtout blocking, or just wait *some time* before sending a new PQisBusy.
> 
> Your proposed code is still a busy-wait loop.  What you should be doing
> is waiting for some data to arrive on the socket.  Once you see
> read-ready on the socket, call PQconsumeInput, then check PQisBusy to
> see if the query is complete or not.  If not, go back to waiting on the
> socket.  Typically you'd use select() or poll() to watch for both data
> on libpq's socket and whatever other events your app is interested in.

As I'm doing this as an excercise and how knows, I'm still playing with my previous approach, the same question but in a different way:

Why the PQisBusy is telling me that it's still busy if I send the PQgetResult and obtain them at the same moment ?

Now I'm not in a loop, just send the PQsendQuery from a button, and then, I just click on another button that simply checks for the PQconsumeInput and PQisBusy, and I'm clickin on it each second, and always it's returning busy, but if I send the PQgetResult I get it.

So, why libpq it's not updating it's status ?

thanks again,

r.

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux