diff --git a/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/SkeletalTrackingProvider.cs b/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/SkeletalTrackingProvider.cs index d5bc246a..a9c487ad 100644 --- a/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/SkeletalTrackingProvider.cs +++ b/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/SkeletalTrackingProvider.cs @@ -116,15 +116,19 @@ protected override void RunBackgroundThreadAsync(int id, CancellationToken token } device.Dispose(); } - if (RawDataLoggingFile != null) - { - RawDataLoggingFile.Close(); - } } catch (Exception e) { Debug.Log($"catching exception for background thread {e.Message}"); token.ThrowIfCancellationRequested(); } + finally + { + if (RawDataLoggingFile != null) + { + RawDataLoggingFile.Close(); + } + IsRunning = false; + } } } \ No newline at end of file diff --git a/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/main.cs b/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/main.cs index 4e14f4e6..2e4c477c 100644 --- a/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/main.cs +++ b/body-tracking-samples/sample_unity_bodytracking/Assets/Scripts/main.cs @@ -33,6 +33,10 @@ void OnApplicationQuit() if (m_skeletalTrackingProvider != null) { m_skeletalTrackingProvider.Dispose(); + while (m_skeletalTrackingProvider.IsRunning) + { + ; + } } } }