_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不合併相鄰區域;如果兩種鎖定的區域是連續的,必須單獨取消鎖定每個區域。只應簡要鎖區域應在關閉檔案或程式退出之前被取消鎖定。

相關詞條

熱門詞條

聯絡我們