set the same channel in t.xfer.user_data as in t.done.

This commit is contained in:
Sebastian Zagrodzki
2017-02-13 03:14:38 +01:00
parent ea1db2d56a
commit 931a15849b

View File

@@ -36,9 +36,8 @@ func xfer_callback(cptr unsafe.Pointer) {
type usbTransfer struct { type usbTransfer struct {
xfer *C.struct_libusb_transfer xfer *C.struct_libusb_transfer
pkts []*C.struct_libusb_packet_descriptor
done chan struct{}
buf []byte buf []byte
done chan struct{}
} }
type deviceHandle *C.libusb_device_handle type deviceHandle *C.libusb_device_handle
@@ -48,8 +47,8 @@ func (t *usbTransfer) attach(dev deviceHandle) {
} }
func (t *usbTransfer) submit() error { func (t *usbTransfer) submit() error {
done := make(chan struct{}, 1) t.done = make(chan struct{})
t.xfer.user_data = (unsafe.Pointer)(&done) t.xfer.user_data = (unsafe.Pointer)(&t.done)
if errno := C.submit(t.xfer); errno < 0 { if errno := C.submit(t.xfer); errno < 0 {
return usbError(errno) return usbError(errno)
} }