Make schedule_deferred_open_message_smb2() return an indication of success.
authorJeremy Allison <jra@samba.org>
Fri, 29 Jun 2012 20:53:31 +0000 (13:53 -0700)
committerJeremy Allison <jra@samba.org>
Sat, 30 Jun 2012 00:23:39 +0000 (02:23 +0200)
source3/smbd/globals.h
source3/smbd/smb2_create.c

index 6c1efaf44bda9c2b8fe7b591f8c750e42ff822ab..b07ee3addca799b815b5bf97348137b7a155cdcd 100644 (file)
@@ -310,7 +310,7 @@ bool open_was_deferred_smb2(struct smbd_server_connection *sconn,
                            uint64_t mid);
 void remove_deferred_open_message_smb2(
        struct smbd_server_connection *sconn, uint64_t mid);
-void schedule_deferred_open_message_smb2(
+bool schedule_deferred_open_message_smb2(
        struct smbd_server_connection *sconn, uint64_t mid);
 bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req,
                        struct timeval request_time,
index 18c3fb954f89a4e770e7e88e86c947a6f6be2fdf..b69f268c9e6886b7c849826999a141eb29aae516 100644 (file)
@@ -1036,7 +1036,7 @@ static void smbd_smb2_create_request_dispatch_immediate(struct tevent_context *c
        }
 }
 
-void schedule_deferred_open_message_smb2(
+bool schedule_deferred_open_message_smb2(
        struct smbd_server_connection *sconn, uint64_t mid)
 {
        struct smbd_smb2_create_state *state = NULL;
@@ -1048,18 +1048,18 @@ void schedule_deferred_open_message_smb2(
                DEBUG(10,("schedule_deferred_open_message_smb2: "
                        "can't find mid %llu\n",
                        (unsigned long long)mid ));
-               return;
+               return false;
        }
        if (!smb2req->subreq) {
-               return;
+               return false;
        }
        if (!tevent_req_is_in_progress(smb2req->subreq)) {
-               return;
+               return false;
        }
        state = tevent_req_data(smb2req->subreq,
                        struct smbd_smb2_create_state);
        if (!state) {
-               return;
+               return false;
        }
 
        /* Ensure we don't have any outstanding timer event. */
@@ -1080,7 +1080,7 @@ void schedule_deferred_open_message_smb2(
        if (!state->im) {
                smbd_server_connection_terminate(smb2req->sconn,
                        nt_errstr(NT_STATUS_NO_MEMORY));
-               return;
+               return false;
        }
 
        DEBUG(10,("schedule_deferred_open_message_smb2: "
@@ -1091,6 +1091,8 @@ void schedule_deferred_open_message_smb2(
                        smb2req->sconn->ev_ctx,
                        smbd_smb2_create_request_dispatch_immediate,
                        smb2req);
+
+       return true;
 }
 
 /*********************************************************