繁体   English   中英

基于插件的程序中的 FFTW 可重入性

[英]FFTW reentrancy in plug-in based programs

我正在开发一个跨平台应用程序(Win / Mac / Linux)。 此应用程序将我无法控制的插件加载为动态库,这些插件可能会做各种事情,主要是音频和图像处理。

其中一些插件可能使用 FFTW 作为其实现细节的一部分。 (这不是一个假设的案例——我已经有了其中的三个)。 但是,FFTW 的 function 的 fftw_plan 系列不是根据文档可重入的 - 它们只能由单个线程调用。 问题是我可以加载的一些插件可能会在他们自己创建的某个线程的深处调用 fftw_plan。

我可以做些什么来确保在这种情况下一切正常,还是我应该接受这最终会崩溃? (遗憾的是,将每个插件放在自己的进程中对我来说不是一个可接受的解决方案)。

事实证明,FFTW 提供了void fftw_make_planner_thread_safe(void) function 确保插件能够在单独的线程中运行计划。

在程序开始时调用它就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM