diff options
author | Volker Lendecke <vl@samba.org> | 2013-12-06 11:38:12 +0000 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2013-12-14 10:08:07 +0100 |
commit | fd94f8248198dc943f8b3107b944e971b5e742ce (patch) | |
tree | 4c60c726b9bfcb05491b258b7b5167192b24c0a4 /lib/dbwrap | |
parent | 70dfb51430bc3b6e436fb5c5452d7ef8612ca02f (diff) | |
download | samba-fd94f8248198dc943f8b3107b944e971b5e742ce.tar.gz samba-fd94f8248198dc943f8b3107b944e971b5e742ce.tar.xz samba-fd94f8248198dc943f8b3107b944e971b5e742ce.zip |
dbwrap: Avoid a stackframe in fetch_locked_internal
This shows in profiles. We call this so often that this is a pretty
hot code path.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'lib/dbwrap')
-rw-r--r-- | lib/dbwrap/dbwrap.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/dbwrap/dbwrap.c b/lib/dbwrap/dbwrap.c index 44e20bce5f..2c633cf159 100644 --- a/lib/dbwrap/dbwrap.c +++ b/lib/dbwrap/dbwrap.c @@ -220,21 +220,18 @@ static struct db_record *dbwrap_fetch_locked_internal( { struct db_record *rec; struct dbwrap_lock_order_state *lock_order; - TALLOC_CTX *frame = talloc_stackframe(); - lock_order = dbwrap_check_lock_order(db, frame); + lock_order = dbwrap_check_lock_order(db, mem_ctx); if (lock_order == NULL) { - TALLOC_FREE(frame); return NULL; } rec = db_fn(db, mem_ctx, key); if (rec == NULL) { - TALLOC_FREE(frame); + TALLOC_FREE(lock_order); return NULL; } (void)talloc_steal(rec, lock_order); rec->db = db; - TALLOC_FREE(frame); return rec; } |