s3:smb2_server: use tevent_req_notify_callback() in smbd_smb2_request_pending_queue()
authorStefan Metzmacher <metze@samba.org>
Sat, 12 Oct 2013 00:40:12 +0000 (02:40 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 27 Nov 2013 13:39:10 +0000 (14:39 +0100)
If the request is already done we can avoid one iteration
of tevent_loop_once(), which means we avoids one
talloc_stackframe_pool/talloc_free pair.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
source3/smbd/smb2_server.c

index 79fda66dcacfe2763b2c5afbeeeccdeb6f903643..56dd6945a90069b7d6ce90539d7217dd7a81726b 100644 (file)
@@ -1252,6 +1252,13 @@ NTSTATUS smbd_smb2_request_pending_queue(struct smbd_smb2_request *req,
        uint32_t flags;
 
        if (!tevent_req_is_in_progress(subreq)) {
+               /*
+                * This is a performance optimization,
+                * it avoids one tevent_loop iteration,
+                * which means we avoid one
+                * talloc_stackframe_pool/talloc_free pair.
+                */
+               tevent_req_notify_callback(subreq);
                return NT_STATUS_OK;
        }