Skip to content

Commit 7d34f2d

Browse files
committed
Locking pending_transfers_ when canceling transfers.
1 parent 8a7ff5d commit 7d34f2d

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

examples/protonect/src/transfer_pool.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ void TransferPool::submit(size_t num_parallel_transfers)
115115

116116
void TransferPool::cancel()
117117
{
118+
pending_transfers_lock_.lock();
119+
118120
for(TransferQueue::iterator it = pending_transfers_.begin(); it != pending_transfers_.end(); ++it)
119121
{
120122
int r = libusb_cancel_transfer(*it);
@@ -125,6 +127,8 @@ void TransferPool::cancel()
125127
}
126128
}
127129

130+
pending_transfers_lock_.unlock();
131+
128132
//idle_transfers_.insert(idle_transfers_.end(), pending_transfers_.begin(), pending_transfers_.end());
129133
}
130134

0 commit comments

Comments
 (0)