社区
Linux_Kernel
帖子详情
sem_wait函数的问题
kynot
2010-06-07 05:05:02
调用sem_wait()函数的时候,当信号量值为0时,sem_wait()不会锁住,返回值是 -1,errno 是38, errno.h上说是function not implemented .有谁知道是什么原因吗
...全文
530
3
打赏
收藏
sem_wait函数的问题
调用sem_wait()函数的时候,当信号量值为0时,sem_wait()不会锁住,返回值是 -1,errno 是38, errno.h上说是function not implemented .有谁知道是什么原因吗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sahara_li
2010-07-09
打赏
举报
回复
同学这个问题解决了没?我们也遇到同样问题了?
kynot
2010-06-08
打赏
举报
回复
[Quote=引用 1 楼 hzcpig 的回复:]
1. 有没有先sem_init
2. sem变量有没有先初始化
3. 参数是否正确。
[/Quote]
不会是这方面的错
程序在原先的内核和文件系统下跑没问题 但是当采用新移植的内核和文件系统后 才出现这个问题的
hzcpig
2010-06-07
打赏
举报
回复
1. 有没有先sem_init
2. sem变量有没有先初始化
3. 参数是否正确。
linux_信号量
函数
系列-信号量实现生产者消费者模型-
sem
_init
函数
-
sem
_
wait
函数
-
sem
_post
函数
-
sem
_try
wait
函数
sem
_init
函数
-
sem
_
wait
函数
-
sem
_post
函数
-
sem
_try
wait
函数
定义两个信号量:S满 = 0, S空 = 1 (S满代表满格的信号量,S空表示空格的信号量,程序起始,格子一定为空)。
sem
_post: 将信号量++,同时唤醒阻塞在信号量上的线程 (类比pthread_mutex_unlock);但,由于
sem
_t的实现对用户隐藏,所以所谓的++、–操作只能通过
函数
来实现,而不能直接++、–符号。
sem
_
wait
: 1. 信号量大于0,则信号量-- (类比pthread_mut
linux
sem
_
wait
sleep,
sem
_
wait
返回等待的线程数
sem
_
wait
的
函数
说明
sem
_
wait
函数
也是一个原子操作,它的作用是从信号量的值减去一个“1”,但它永远会先等待该信号量为一个非零值才开始做减法。也就是说,如果你对一个值为2的信号量调用
sem
_
wait
(),线程将会继续执行,将信号量的值将减到1。如何让
sem
_
wait
返回-1且errno==EINTR ?EINTR The call was interrupted by a signal...
linux中
sem
_
wait
函数
,
sem
wait
sem
_
wait
的
函数
说明
sem
_
wait
() 减小(锁定)由
sem
指定的信号量的值.如果信号量的值比0大,那么进行减一的操作,
函数
立即返回.如果信号量当前为0值,那么调用就会一直阻塞直到或者是信号量变得可以进行减一的操作(例如,信号量的值比0大),或者是信号处理程序中断调用
sem
_t//(有些琐碎的)程序以下展示了在一个未命名的信号量上的操作.程序请CSS布局HTML小编今天和大家分享2个命令行参数,//第一个参数指定一...
sem
_
wait
和
sem
_post
sem
_
wait
sem
_post 信号量的数据类型为结构
sem
_t,它本质上是一个长整型的数。
函数
sem
_init()用来初始化一个信号量。它的原型为: extern int
sem
_init __P ((
sem
_t *__
sem
, int __pshared, unsigned int __value));
sem
为指向信号量结构的一个指针;pshared不为0时此信号量在进...
学习信号量
sem
_init、
sem
_destroy、
sem
_post、
sem
_
wait
、
sem
_try
wait
、
sem
_getvalue
学习信号量
sem
_init、
sem
_destroy、
sem
_post、
sem
_
wait
、
sem
_try
wait
、
sem
_getvalue 概要: 1.信号量使用场合 2.POSIX标准定义的信号量 2.1
sem
_init、
sem
_destroy、
sem
_post、
sem
_
wait
、
sem
_try
wait
、
sem
_getvalue简介 3.在linux中相关
函数
位置 1.信号量使用场合 我理解...
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章