/*
* call-seq:
* conn.setnonblocking() -> Boolean
*
* Returns +true+ if a command is busy, that is, if
* PQgetResult would block. Otherwise returns +false+.
*/
static VALUE
pgconn_setnonblocking(self, state)
VALUE self, state;
{
int arg;
VALUE error;
PGconn *conn = get_pgconn(self);
if(state == Qtrue)
arg = 1;
else if (state == Qfalse)
arg = 0;
else
rb_raise(rb_eArgError, "Boolean value expected");
if(PQsetnonblocking(conn, arg) == -1) {
error = rb_exc_new2(rb_ePGError, PQerrorMessage(conn));
rb_iv_set(error, "@connection", self);
rb_exc_raise(error);
}
return Qnil;
}