Nulik Nol wrote: > I have 2 questions regarding the asynchronous C api (I am using vers. 8.4): > > 1) To make a connection in non-blocking manner the api provides PGconn > *PQconnectStart(const char *conninfo) function. The parameters are > passed in 'conninfo' variable which is a string so I have to use > sprintf() to put the parameters into this string. Is there another > function to connect asynchronously that would be similar to > PQsetdbLogin so it would accept the host/port/user/password parameters > directly as argument to the function? I want to avoid to use sprintf() You can use PQconnectStartParams if you don't want to construct a conninfo string. > 2) Will this code produce a valid non-blocking connection ? > > db_globals=PQsetdbLogin(DT_DBHOST,DT_DBPORT,NULL,NULL,"global",DT_DBUSER ,DT_DBPASS); > if (PQstatus(db_globals) != CONNECTION_OK) { > fprintf(stderr, "Connection to database failed: %s", > PQerrorMessage(db_globals)); > PQfinish(db_globals); > exit(1); > } > if (PQsetnonblocking(db_globals, int arg)!=1) { > printf("can't set global connection to non blocking mode\n"); > exit(1); > } The resulting connection (db_globals) will not block when you send, but the connection procedure itself (PQsetdbLogin) will block. Yours, Laurenz Albe -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general