免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1673 | 回复: 3
打印 上一主题 下一主题

[函数] 不知哪位大侠有在Solaris的Forte c下用过usleep()函数? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-13 09:29 |只看该作者 |倒序浏览
我最近写了一个程序,它是一个后台程序,内部就是让它休眠500ms后,去处理一些事务。刚开始的时候是正常的,运行一段时间后程序就不动了。我用dbx去attach它,并用where命令打印状态,它显示为:
current thread: t@1
  [1] _libc_sigsuspend(0xffbef540, 0xffffffffffffffff, 0xfeb7e000, 0xfeb7e000, 0
x28050, 0x28040), at 0xfeb1b148
  [2] _sigsuspend(0xffbef540, 0xfeb7e000, 0x0, 0x1f4, 0xe, 0xffbef5c9), at 0xfeb
69b3c
  [3] _libc_usleep(0x0, 0xfeb3801c, 0x1f4, 0xfebd8000, 0x0, 0x0), at 0xfead5c50
  [4] _ti_usleep(0xffbef820, 0xffbef818, 0x4b2, 0xfe9f0000, 0x5, 0xffbef900), at
0xfeb6b518
=>;[5] main(argc = 3, argv = 0xffbefab4)


请问这是什么原因?

论坛徽章:
0
2 [报告]
发表于 2004-04-13 12:24 |只看该作者

不知哪位大侠有在Solaris的Forte c下用过usleep()函数?

你是多线程还是单线程应用, 在solaris平台上usleep多线程不安全! 在多线程环境中可以用nanosleep,或者自己用select实现一个

论坛徽章:
0
3 [报告]
发表于 2004-04-13 12:54 |只看该作者

不知哪位大侠有在Solaris的Forte c下用过usleep()函数?

我的程序是单线程的,就是说在程序中我并没有去创建线程。有两个进程,其中一个是子进程,里面没有什么功能所以它很早就返回了。

论坛徽章:
0
4 [报告]
发表于 2004-04-13 14:25 |只看该作者

不知哪位大侠有在Solaris的Forte c下用过usleep()函数?

不好意思,我下午用ps -ef -o comm -o nlwp来查看它确实有几个线程。我这程序有用到proc*c
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP