TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678信号量

CSL_semAcquireDirect(0);
//do somthing
CSL_semReleaseSemaphore(0);
我使用信号量0,但是release的时候修改register的值,它除了修改了本身信号量regsiter里的值,还把我共享里的数据也修改了(破坏了),请问这是为什么呢。

yuxiang li:

回复 Andy Yin1:

andy:

你好,最近在学习信号量的时候遇到几个问题希望得到解答。

1.直接获取信号量只能通过sem_direct,联合获取信号量只能通过sem_indirect,而间接获取信号量则是三个寄存器都可以么(直接,间接,查询)。信号量的释放也是这三个寄存器都可以释放么?

2.在sem_direct寄存器下面的注释为: Only if writer is the current owner(只有信号量的拥有者才可以进行写操作),但是如果我是间接获取则需要对sem_direct寄存器进行写00的操作。此时显然我还不是信号量的拥有者,那我还能进行写操作么?

感谢不吝赐教

赞(0)
未经允许不得转载:TI中文支持网 » C6678信号量
分享到: 更多 (0)