Greetings,

I'm working with pqlib in asynchronous mode and I have a question about 
PQgetResult.  I have this situation:

submit a query via PQsendQuery()
flush to the backend with PQflush()

set my read descriptor on the socket and enter a select()

select returns read_ready on the socket, so call PGconsumeInput()
PQisBusy() returns zero, so call PQgetResult()
PQgetResult() returns a pointer so do whatever with the result
call PQclear() on the result

Now what do I do?  The docs say that in async mode that PQgetResult() must 
be called until it returns NULL.  But, how do I know that calling 
PQgetResult() a second, third, fourth, etc. time will not block?  When 
PQisBusy() returns zero, does that mean that PQgetResult() is guaranteed 
not to block for all results, i.e. until it returns NULL and a new query is 
issued?

Thanks,
Matthew


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to