The Samba-Bugzilla – Attachment 11235 Details for
Bug 11381
winbind failing to respond
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
possible fix
look (text/plain), 1.14 KB, created by
Volker Lendecke
on 2015-07-06 12:28:48 UTC
(
hide
)
Description:
possible fix
Filename:
MIME Type:
Creator:
Volker Lendecke
Created:
2015-07-06 12:28:48 UTC
Size:
1.14 KB
patch
obsolete
>From a833cb8f86b184a84f8882af2bc55bde66fa4e58 Mon Sep 17 00:00:00 2001 >From: Volker Lendecke <vl@samba.org> >Date: Mon, 6 Jul 2015 13:13:36 +0200 >Subject: [PATCH] look > >--- > lib/tdb/common/traverse.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > >diff --git a/lib/tdb/common/traverse.c b/lib/tdb/common/traverse.c >index 618670f..e18e3c3 100644 >--- a/lib/tdb/common/traverse.c >+++ b/lib/tdb/common/traverse.c >@@ -245,13 +245,25 @@ _PUBLIC_ int tdb_traverse(struct tdb_context *tdb, > tdb_traverse_func fn, void *private_data) > { > struct tdb_traverse_lock tl = { NULL, 0, 0, F_WRLCK }; >+ enum tdb_lock_flags lock_flags; > int ret; > > if (tdb->read_only || tdb->traverse_read) { > return tdb_traverse_read(tdb, fn, private_data); > } > >- if (tdb_transaction_lock(tdb, F_WRLCK, TDB_LOCK_WAIT)) { >+ lock_flags = TDB_LOCK_WAIT; >+ >+ if (tdb->allrecord_lock.count != 0) { >+ /* >+ * This avoids a deadlock between tdb_lockall() and >+ * tdb_traverse(). See >+ * https://bugzilla.samba.org/show_bug.cgi?id=11381 >+ */ >+ lock_flags = TDB_LOCK_NOWAIT; >+ } >+ >+ if (tdb_transaction_lock(tdb, F_WRLCK, lock_flags)) { > return -1; > } > >-- >1.7.9.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 11381
:
11229
|
11230
|
11231
|
11234
| 11235 |
11304