change thread join strategy, fix a few leaks, fix a few bugs
[goodguy/history.git] / cinelerra-5.1 / cinelerra / devicev4l2base.C
index efc3c0616fdd7ceac574369f5242aa050098fa88..31a009b38fb9ea3b6c40303957dc646acfb4b6f6 100644 (file)
@@ -165,8 +165,8 @@ DeviceV4L2Put::~DeviceV4L2Put()
                done = 1;
                buffer_lock->unlock();
                Thread::cancel();
-               Thread::join();
        }
+       Thread::join();
        delete buffer_lock;
        delete putq;
 }
@@ -709,8 +709,8 @@ void DeviceV4L2Base::close_dev()
                {
                        done = 1;
                        Thread::cancel();
-                       Thread::join();
                }
+               Thread::join();
                if(put_thread)
                {
                        delete put_thread;