用來鎖定或解鎖檔案中的指定位元組數。
基本介紹
- 中文名:_locking
- 外文名:_locking
原型,參數,返回值,備註,
原型
函式原型:int _locking( int fd, int mode, long nbytes );
參數
- fd
- 檔案說明符
- mode
- 鎖定要執行的操作。
- nbytes
- 用於鎖定的位元組數。
返回值
如果成功,_locking返回 0 。為-1的返回值指示一個錯誤,在errno設定為以下任一值情況下。
- EACCES
- 鎖定衝突 (檔案鎖定或解除鎖定)。
- EBADF
- 檔案無效描述符。
- EDEADLOCK
- 鎖定衝突。當_LK_LOCK或_LK_RLCK標誌指定時和檔案不可能被鎖定,然後嘗試10次之後返回。
- EINVAL
- 無效參數指定_locking。
備註
_locking函式被鎖定或解鎖fd指定檔案的nbytes位元組。鎖在檔案的位元組。其他進程可以防止對這些位元組的訪問許可權。所有鎖定或解鎖的起始檔案指針的當前位置nbytes位元組並為下運行。鎖定檔案尾位元組的過去是可能的。
清單常數模式必須為下列之一,在 Locking.h 定義。
- _LK_LOCK
- 鎖定指定位元組。如果位元組無法鎖定,函式在 1 秒後直接調用。如果10 多次嘗試後位元組無法鎖定後,常數返回 FALSE。
- _LK_NBLCK
- 鎖定指定位元組。如果位元組無法鎖定,常數將返回 false。
- _LK_NBRLCK
- 與_LK_NBLCK相同。
- _LK_RLCK
- 與_LK_LOCK相同。
- _LK_UNLCK
- 取消鎖定指定位元組,以前必須鎖定。
重疊檔案的多區域可以鎖定。綁定以前鎖定解鎖的區域。_locking不合併相鄰區域;如果兩種鎖定的區域是連續的,必須單獨取消鎖定每個區域。只應簡要鎖區域應在關閉檔案或程式退出之前被取消鎖定。