Code

client: Added sdb_client_sockfd() function.
[sysdb.git] / src / client / sock.c
index 66b83a70009f16921ef70f8e487ae14eabe454dd..49cefdf0935fb8315cda15c6b8921bbfa6d0a510 100644 (file)
@@ -190,6 +190,14 @@ sdb_client_connect(sdb_client_t *client, const char *username)
        return 0;
 } /* sdb_client_connect */
 
+int
+sdb_client_sockfd(sdb_client_t *client)
+{
+       if (! client)
+               return -1;
+       return client->fd;
+} /* sdb_client_sockfd */
+
 void
 sdb_client_close(sdb_client_t *client)
 {
@@ -233,7 +241,8 @@ sdb_client_recv(sdb_client_t *client,
        while (42) {
                ssize_t status;
 
-               /* XXX: use select */
+               if (sdb_proto_select(client->fd, SDB_PROTO_SELECTIN))
+                       return -1;
 
                errno = 0;
                status = sdb_strbuf_read(buf, client->fd, req);