Closed r-kurose closed 3 years ago
返事がないが #681 で修正はした。意図と合っているかの確認は必要。
GlobalFactoryをさらにSingletonにするかどうかで動作が違う場合があります。
linRTC.soと外部の共有ライブラリでGlobalFactoryを共有する場合に、以下の場合はlibRTC.soと外部の共有ライブラリで別のGlobalFactoryを生成しているらしく共有できていません。このため外部の共有ライブラリ側でファクトリを追加しても、libRTC.so側では追加されていないという事が起こります。
EXTERN template class coil::GlobalFactory < XXX >;
Singletonにすると何故かGlobalFactoryが共有できるため正常に動作します。
EXTERN template class coil::Singleton<coil::GlobalFactory < XXX > >;
libRTC.soのどこかでinstance関数を呼ぶなどした場合も正常に動作します。
coil::GlobalFactory < XXX >::instance();
a05446c1821d2af0a454f91c0e9bbf5710822267 の変更に関しての質問です。 1. すでに Singleton になっているはずの GlobalFactory をさらに Singleton にした意図は何か。 2. OutPortConsumer.h など一部が同様に対応されていないのはなぜか。