diff --git a/libs/ardour/ardour/audiosource.h b/libs/ardour/ardour/audiosource.h index 345d424cf3..59d5add122 100644 --- a/libs/ardour/ardour/audiosource.h +++ b/libs/ardour/ardour/audiosource.h @@ -156,6 +156,7 @@ class LIBARDOUR_API AudioSource : virtual public Source, * during the handling of the signal. */ mutable Glib::Threads::Mutex _peaks_ready_lock; + Glib::Threads::Mutex _initialize_peaks_lock; int _peakfile_fd; framecnt_t peak_leftover_cnt; diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc index e7d81feaec..9d90d05cb1 100644 --- a/libs/ardour/audiosource.cc +++ b/libs/ardour/audiosource.cc @@ -238,6 +238,7 @@ AudioSource::rename_peakfile (string newpath) int AudioSource::initialize_peakfile (const string& audio_path, const bool in_session) { + Glib::Threads::Mutex::Lock lm (_initialize_peaks_lock); GStatBuf statbuf; _peakpath = construct_peak_filepath (audio_path, in_session);