be sure to check the return from the RCU mgr ::update method() inside TempoMap::update()

This commit is contained in:
Paul Davis 2021-02-21 23:37:45 -07:00
parent 9a53ef4020
commit beaa1b3fcb
2 changed files with 7 additions and 3 deletions

View File

@ -3034,10 +3034,12 @@ TempoMap::init ()
fetch ();
}
void
int
TempoMap::update (TempoMap::SharedPtr m)
{
_map_mgr.update (m);
if (!_map_mgr.update (m)) {
return -1;
}
/* update thread local map pointer in the calling thread */
update_thread_tempo_map ();
@ -3046,6 +3048,8 @@ TempoMap::update (TempoMap::SharedPtr m)
_tempo_map_p->dump (cerr);
MapChanged (); /* EMIT SIGNAL */
return 0;
}
void

View File

@ -655,7 +655,7 @@ class LIBTEMPORAL_API TempoMap : public PBD::StatefulDestructible
static SharedPtr write_copy() { return _map_mgr.write_copy(); }
static void fetch_writable() { _tempo_map_p = write_copy(); }
static void update (SharedPtr m);
static int update (SharedPtr m);
static void abort_update ();
/* and now on with the rest of the show ... */