The custom mutex definition in Seq24 clashes with the mutex defined in gtkmm. This patch renames the custom definition. See https://bugs.launchpad.net/seq24/+bug/1647614 for upstream bug report. diff --git a/src/midibus.h b/src/midibus.h index 2cdf8e8..1bb02bd 100644 --- a/src/midibus.h +++ b/src/midibus.h @@ -90,7 +90,7 @@ class midibus /* locking */ - mutex m_mutex; + seq24mutex m_mutex; /* mutex */ void lock(); @@ -208,7 +208,7 @@ class mastermidibus sequence *m_seq; /* locking */ - mutex m_mutex; + seq24mutex m_mutex; /* mutex */ void lock(); diff --git a/src/midibus_portmidi.h b/src/midibus_portmidi.h index 0119e9c..8c6a27a 100644 --- a/src/midibus_portmidi.h +++ b/src/midibus_portmidi.h @@ -65,7 +65,7 @@ class midibus long m_lasttick; /* locking */ - mutex m_mutex; + seq24mutex m_mutex; /* mutex */ void lock(); @@ -164,7 +164,7 @@ class mastermidibus sequence *m_seq; /* locking */ - mutex m_mutex; + seq24mutex m_mutex; /* mutex */ void lock(); diff --git a/src/mutex.cpp b/src/mutex.cpp index b3f23fd..914114f 100644 --- a/src/mutex.cpp +++ b/src/mutex.cpp @@ -20,23 +20,23 @@ #include "mutex.h" -const pthread_mutex_t mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; +const pthread_mutex_t seq24mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; const pthread_cond_t condition_var::cond = PTHREAD_COND_INITIALIZER; -mutex::mutex( ) +seq24mutex::seq24mutex( ) { m_mutex_lock = recmutex; } void -mutex::lock( ) +seq24mutex::lock( ) { pthread_mutex_lock( &m_mutex_lock ); } void -mutex::unlock( ) +seq24mutex::unlock( ) { pthread_mutex_unlock( &m_mutex_lock ); } diff --git a/src/mutex.h b/src/mutex.h index 399f8a3..4f1b867 100644 --- a/src/mutex.h +++ b/src/mutex.h @@ -24,7 +24,7 @@ #include -class mutex { +class seq24mutex { private: @@ -37,14 +37,14 @@ protected: public: - mutex(); + seq24mutex(); void lock(); void unlock(); }; -class condition_var : public mutex { +class condition_var : public seq24mutex { private: diff --git a/src/sequence.h b/src/sequence.h index 2943946..9da8700 100644 --- a/src/sequence.h +++ b/src/sequence.h @@ -153,7 +153,7 @@ class sequence long m_rec_vol; /* locking */ - mutex m_mutex; + seq24mutex m_mutex; /* used to idenfity which events are ours in the out queue */ //unsigned char m_tag; ohover'>AgeCommit message (Collapse)Author 2019-10-30services: ntp: Ensure no double quotes are output to config file.Maxim Cournoyer * gnu/services/networking.scm (ntp-server->string): Use the textual representation of the values as printed by 'display' rather than 'write', to avoid inserting double quotes in the generated config. * tests/networking.scm (%ntp-server-sample): Add a comment and make one of the options a string, to exercise the fix. ("ntp-server->string"): Move the expected value to the first argument. ("ntp configuration servers deprecated form"): Likewise. ("openntpd generated config string ends with a newline"): Likewise. 2019-09-08services: openntpd: Add test for issue #3731.Maxim Cournoyer See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=37318. * gnu/services/networking.scm (openntpd-configuration->string): New procedure, extracted from top of the `openntpd-shepherd-service' to make it testable. (openntpd-shepherd-service): Adapt following the move of the code to the above procedure. * tests/networking.scm: Add a test for the `openntpd-configuration->string' procedure. 2019-09-08services: ntp: Support different NTP server types and options.Maxim Cournoyer * gnu/services/networking.scm (ntp-server-types): New enum. (<ntp-server>): New record type. (ntp-server->string): New procedure. (%ntp-servers): Define in terms of <htp-server> records. Use the first entrypoint server as a pool instead of a list of static servers. This is more resilient since a new server of the pool can be interrogated on every request. Add the 'iburst' options. (ntp-configuration-servers): Define a custom accessor that warns but honors the now deprecated server format. (<ntp-configuration>): Use it. (%openntpd-servers): New variable, (<openntpd-configuration>): Use it, as a pool ('servers' field) instead of a regular server. * tests/networking.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi: Update documentation.