libpq, blocking/nonblocking mechanism

From: Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com>
To: PostgreSQL Interfaces <pgsql-interfaces(at)postgresql(dot)org>
Subject: libpq, blocking/nonblocking mechanism
Date: 2005-05-28 20:34:20
Message-ID: 7104a737050528133410045f04@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hi,

While I'm trying to figure out the point of PQsetnonblocking() call,
confused so much on blocking/nonblocking mechanism.

Sync. Connect » Async. Query
Async. Connect » Sync. Query

Both of above flows work without any PQsetnonblocking() call.
Therefore sync/async connection and sync/async query execution are not
dependent to each other. (Right?) If so, what's the point of
PQsetnonblocking() function? When do we require it and when should we
use it?

As I saw from src/interfaces/libpq/fe-exec.c, PQsetnonblocking() only
assigns True or False to conn->nonblocking variable. When I searched
for "->nonblocking" under libpq directory, I found that it's used
while creating an empty PGconn and while closing PGconn. This didn't
help me too.

I'd be so appreciated for a comprehensive "specialized for dummies" answer.
Regards.

P.S. Documentation pointers will be accepted with pleasure too.

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message daniellewis 2005-05-28 23:35:16 Re: MacOS Interface ?
Previous Message Clay, Bruce 2005-05-27 15:58:10 Fw: PgOleDb / PostGis / PostgreSql interface problem