Skip to content

Commit 2b2863e

Browse files
committed
f further, make lockdep trace non-Option
1 parent 1294bed commit 2b2863e

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

lightning/src/debug_sync.rs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,7 @@ struct LockMetadata {
6868

6969
struct LockDep {
7070
lock: Arc<LockMetadata>,
71-
lockdep_trace: Option<Backtrace>,
72-
}
73-
impl LockDep {
74-
/// Note that `Backtrace::new()` is rather expensive so we rely on the caller to fill in the
75-
/// `lockdep_backtrace` field after ensuring we need it.
76-
fn new_without_bt(lock: &Arc<LockMetadata>) -> Self {
77-
Self { lock: Arc::clone(lock), lockdep_trace: None }
78-
}
71+
lockdep_trace: Backtrace,
7972
}
8073

8174
#[cfg(feature = "backtrace")]
@@ -160,9 +153,8 @@ impl LockMetadata {
160153
}
161154
// Insert any already-held locks in our locked-before set.
162155
let mut locked_before = this.locked_before.lock().unwrap();
163-
let mut lockdep = LockDep::new_without_bt(locked);
164-
if !locked_before.contains_key(&lockdep.lock.lock_idx) {
165-
lockdep.lockdep_trace = Some(Backtrace::new());
156+
if !locked_before.contains_key(&locked.lock_idx) {
157+
let lockdep = LockDep { lock: Arc::clone(locked), lockdep_trace: Backtrace::new() };
166158
locked_before.insert(lockdep.lock.lock_idx, lockdep);
167159
}
168160
}
@@ -182,9 +174,8 @@ impl LockMetadata {
182174
// succeeds, we do consider it to have created lockorder dependencies.
183175
let mut locked_before = this.locked_before.lock().unwrap();
184176
for (locked_idx, locked) in held.borrow().iter() {
185-
let mut lockdep = LockDep::new_without_bt(locked);
186177
if !locked_before.contains_key(locked_idx) {
187-
lockdep.lockdep_trace = Some(Backtrace::new());
178+
let lockdep = LockDep { lock: Arc::clone(locked), lockdep_trace: Backtrace::new() };
188179
locked_before.insert(*locked_idx, lockdep);
189180
}
190181
}

0 commit comments

Comments
 (0)