函数调用信号量的关键部分

时间:2014-10-04 02:51:01

标签: c critical-section

我正在使用信号量来包围从多个进程中的共享数组中删除int的关键代码段。

我的问题是,如果在代码的关键部分我有一个对辅助函数的函数调用它是否仍会受到保护?

例如,如果我的代码遵循此大纲:

  mutex_lock();
  some_helper_function_call();
  mutex_unlock();

该功能是否仍然受到这些锁的保护?我很感激。

2 个答案:

答案 0 :(得分:1)

互斥锁下的代码是什么,解锁受到保护。因此,在这种情况下,some_helper_function_call();互斥锁保护。

答案 1 :(得分:1)

是的。看来你真的不知道信号量是多少。它只是一个整数,存储在内存中的某个地方。所以如果你锁定它,它的值将保持不变,除非你解锁它。