simple_lock 或 simple_lock_try 内核服务

用途

锁定简单锁定。

语法

#include <sys/lock_def.h>
void simple_lock ( lock_addr)
simple_lock_t lock_addr;
boolean_t simple_lock_try ( lock_addr)
simple_lock_t lock_addr;

参数

描述
lock_addr 指定要锁定的锁定字的地址。

描述

simple_lock 内核服务将锁定指定的锁定; 如果锁定处于繁忙状态,那么它将阻塞。 该锁定必须先前已使用 simple_lock_init 内核服务进行初始化。 simple_lock 内核服务没有任何返回值。

simple_lock_try 内核服务尝试锁定指定的锁定; 如果锁定处于繁忙状态,那么它会立即返回而不会阻塞。 如果锁定可用,那么 simple_lock_try 内核服务会将其锁定。 该锁定必须先前已使用 simple_lock_init 内核服务进行初始化。

注: 在使用简单锁定来保护线程中断关键部分时,建议您使用 disable_lock 内核服务,而不要直接调用 simple_lock 内核服务。

执行环境

simple_locksimple_lock_try 内核服务只能从 流程 环境中进行调用。

返回值

simple_lock_try 内核服务的返回值如下所示:

描述
TRUE 指示已成功获得简单锁定。
FALSE 指示简单锁定处于繁忙状态,但尚未获取。