我遇到了一个不太好的旧错误
not loaded: /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so because "Cannot load library /usr/lib/mozilla/plugins/libfreshwrapper-flashplayer.so: (dlopen: cannot load any more object with static TLS)"
并且认为我可以通过使用C ++ 11 thread_local构造将pthread g / setspecific代码转换为某些内容来避免它(已经有一个几乎可以直接重用的Windows应用程序实现)。
没有这样的运气。然后我发现我可能实际上已经做了与应该做的相反的事情(你几乎不能调用get / setspecific static )。是这样的吗?或者thread_local
只是在幕后使用相同的pthread机制(Linux上的gcc 7)?
出于好奇:是否有一个良好,轻量级和高效的TLS跨平台实现既不使用pthread(除了可能用于获取当前线程参考),也不使用任何可能导致静态TLS饱和的其他内容?