網路蒐做發現原來2.6.25及以後的linux核心版本廢除了init_mutex函式,新版本使用sema_init函式取代
平台:x86 32位
核心:2.6.32定義:
引用static
inline
void
init_mutex
(struct
semaphore
*sem)
說明:init_mutex()函式初始化訊號量為互斥量。 互斥量為訊號量的特例,它可以防止資料被兩個不同系統呼叫讀寫。
sema_init (sem, 1) 定義為:
引用static
inline
void
sema_init
(struct
semaphore
*sem
,int
val)
sleepers
: 指定了允許進入等待進入臨界區的程序數,這裡初始化為 0 。
init_waitqueue_head()
: 初始化乙個等待佇列頭。
廢除init_mutex
後,將原來使用
init_mutex(sem)的地方統統替換為sema_init(sem
,1);即可
C語言函式呼叫常見問題 1
在我看來 有許多計算問題如果通過函式呼叫方式來解決就會使得 整體看起來簡介又便於識別 但是在呼叫函式時候要注意以下幾個問題 一 基本功能 1 函式呼叫,即把函式的輸入值填進函式名後面的括號中,不需要註明函式型別 interchange x,y 無返回值 x interchange x,y 返回值為 ...
內聯函式(1)
內聯函式是指在呼叫函式的地方插入函式實現 節省函式呼叫的開銷。這是一種用空間換時間的做法。宣告內聯函式時用inline關鍵字。在類體內定義的函式預設為內聯函式 建構函式也可以為內聯函式 要注意,無法獲得內聯函式的位址。內聯函式,建構函式,靜態成員函式不能為virtual函式 1 內聯函式 內聯函式是...
陣列 函式 (1)
1.無參函式的定義形式 型別標識和函式名稱為函式頭。型別識別符號指明了本函式的型別,函式的型別實際上是函式返回之型別,該型別識別符號與前面介紹的各種說明符相同。函式名是由使用者定義的識別符號,函式名後有乙個空括號,其中無引數,但括號不可少。中的內容稱為函式體。在很多情況下都不要求無參函式有返回值。此...