File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change 29
29
30
30
#include < deque>
31
31
#include < libusb.h>
32
- #include < mutex >
32
+ #include < libfreenect2/threading.h >
33
33
34
34
#include < libfreenect2/data_callback.h>
35
35
@@ -71,7 +71,8 @@ class TransferPool
71
71
libusb_device_handle *device_handle_;
72
72
unsigned char device_endpoint_;
73
73
74
- std::mutex pending_transfers_lock_;
74
+ mutex pending_transfers_lock_;
75
+ mutex idle_transfers_lock_;
75
76
TransferQueue idle_transfers_, pending_transfers_;
76
77
unsigned char *buffer_;
77
78
size_t buffer_size_;
Original file line number Diff line number Diff line change @@ -60,10 +60,13 @@ void TransferPool::disableSubmission()
60
60
61
61
void TransferPool::deallocate ()
62
62
{
63
+ idle_transfers_lock_.lock ();
63
64
for (TransferQueue::iterator it = idle_transfers_.begin (); it != idle_transfers_.end (); ++it)
64
65
{
65
66
libusb_free_transfer (*it);
66
67
}
68
+ idle_transfers_lock_.unlock ();
69
+
67
70
idle_transfers_.clear ();
68
71
69
72
if (buffer_ != 0 )
You can’t perform that action at this time.
0 commit comments