smb_direct_connection_post_io
authorStefan Metzmacher <metze@samba.org>
Wed, 5 Oct 2016 16:53:44 +0000 (18:53 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 1 Jun 2018 12:35:17 +0000 (14:35 +0200)
libcli/smb/smb_direct.c

index e1b0bad7a44176071505ddade124a56c05da597c..bcbdf999653d636715a6bff6f2c7e68a3859a97a 100644 (file)
@@ -641,6 +641,33 @@ DEBUG(0,("%s:%s: TODO: REMOVE me ...here...\n", __location__, __func__));
        return 0;
 }
 
+static int smb_direct_connection_post_io(struct smb_direct_connection *c)
+{
+       int ret;
+
+       errno = 0;
+       ret = smb_direct_connection_post_recv(c);
+       if (ret != 0) {
+               NTSTATUS status;
+               status = map_nt_error_from_unix_common(errno);
+               DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",
+                       __location__, __FUNCTION__, ret, errno, nt_errstr(status)));
+               return ret;
+       }
+
+       errno = 0;
+       ret = smb_direct_connection_post_send(c);
+       if (ret != 0) {
+               NTSTATUS status;
+               status = map_nt_error_from_unix_common(errno);
+               DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",
+                       __location__, __FUNCTION__, ret, errno, nt_errstr(status)));
+               return ret;
+       }
+
+       return 0;
+}
+
 static int smb_direct_connection_post_keep(struct smb_direct_connection *c)
 {
        struct smb_direct_io *io = NULL;
@@ -672,7 +699,7 @@ DEBUG(0,("%s:%s: KEEP posted[%p] ready[%p] idle[%p]\n",
 
        DLIST_ADD_END(c->s2r.ready, io);
 
-       ret = smb_direct_connection_post_send(c);
+       ret = smb_direct_connection_post_io(c);
        if (ret != 0) {
                NTSTATUS status;
                status = map_nt_error_from_unix_common(errno);
@@ -1373,7 +1400,7 @@ static void smb_direct_connection_negotiate_connect_ibv_handler(struct tevent_co
                TALLOC_FREE(io);
 
                errno = 0;
-               ret = smb_direct_connection_post_recv(c);
+               ret = smb_direct_connection_post_io(c);
                if (ret != 0) {
                        status = map_nt_error_from_unix_common(errno);
                        DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",
@@ -1879,7 +1906,7 @@ DEBUG(0,("%s:%s: here...\n", __location__, __func__));
                TALLOC_FREE(io);
 
                errno = 0;
-               ret = smb_direct_connection_post_recv(c);
+               ret = smb_direct_connection_post_io(c);
                if (ret != 0) {
                        status = map_nt_error_from_unix_common(errno);
                        DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",
@@ -2224,7 +2251,7 @@ try_again:
                        }
                        DLIST_ADD_END(c->r2s.idle, io);
                        errno = 0;
-                       ret = smb_direct_connection_post_recv(c);
+                       ret = smb_direct_connection_post_io(c);
                        if (ret != 0) {
                                status = map_nt_error_from_unix_common(errno);
                                DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",
@@ -2563,10 +2590,10 @@ static void smb_direct_connection_sock_handler(struct tevent_context *ev,
                }
        }
 
-       ret = smb_direct_connection_post_recv(c);
+       ret = smb_direct_connection_post_io(c);
        if (ret != 0) {
                status = map_nt_error_from_unix_common(errno);
-               DBG_ERR("smb_direct_connection_post_recv failed [%s]\n",
+               DBG_ERR("smb_direct_connection_post_io failed [%s]\n",
                        nt_errstr(status));
                smb_direct_connection_disconnect(c, status);
                return;
@@ -2583,7 +2610,7 @@ static void smb_direct_connection_sock_handler(struct tevent_context *ev,
                }
        }
 
-       ret = smb_direct_connection_post_send(c);
+       ret = smb_direct_connection_post_io(c);
        if (ret != 0) {
                status = map_nt_error_from_unix_common(errno);
                DEBUG(0,("%s:%s: ret[%d] errno[%d] status[%s]\n",