首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tibco RV和线程

Tibco RV和线程
EN

Stack Overflow用户
提问于 2013-07-01 19:09:18
回答 1查看 619关注 0票数 2

在运行使用IBM Informix4GL和Tibco RV库(libtibrv.so)构建的应用程序时,我遇到了一个困难的情况。Informix4GL不是线程安全的,Tibco总是创建一个线程(我认为它会像我们调用tibrv_Open()一样创建一个线程,但可能是在创建传输之后)

由于4GL处理信号,这会导致应用程序崩溃(当进程运行Tibco线程时,会运行4GL信号处理程序)。

使用调试器时,我注意到这个trhead似乎在循环中……它调用select(),超时时间为10s。

我的问题是:-有没有办法避免创建线程?(我想没有)--有没有办法配置我上面提到的超时时间?-如果有人能给我解释一下这个线程的目的,我将不胜感激。我假设我们将不得不接受它,但如果能理解它为什么会在那里,那就太好了。也许它的存在是为了检查服务器超时?

附注:该应用程序使用C语言与Tibco进行接口。我不认为这是非常相关的,但目前的情况是在Tru64上,我相信Tibco rendezvous是6.9。该环境使用pthread库。这些都是非常老的版本。但客户正在转向更新的版本。

非常感谢您在此发表任何意见。

EN

回答 1

Stack Overflow用户

发布于 2013-07-07 09:55:08

我没见过Tibco,所以我不确定我能帮上忙,但是...

我建议创建一个单独的进程来运行Tibco代码,让I4GL调用当前用于与Tibco库对话的同一个C接口,但是销毁实现,以便这些函数通过管道或套接字将消息发送到Tibco进程(这将由初始化函数启动)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17403052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档