Skip to content
Syscall BSD#443

svc · unix #443

guarded_kqueue_np

Crée un descripteur de kqueue avec une valeur de garde attachée à la création.

Prototype

int guarded_kqueue_np(const guardid_t *guard, u_int guardflags);

Retour: int

Arguments

NameTypeDirDescription
guardconst guardid_t-
guardflagsu_int-

Historique des versions

XNU tagmacOS#
xnu-2422.115.4macOS 10.9 Mavericks443
xnu-2782.40.9macOS 10.10 Yosemite443
xnu-3247.1.106macOS 10.11 El Capitan443
xnu-3789.1.32macOS 10.12 Sierra443
xnu-4570.1.46macOS 10.13 High Sierra443
xnu-4903.221.2macOS 10.14 Mojave443
xnu-6153.11.26macOS 10.15 Catalina443
xnu-7195.50.7.100.1macOS 11.0 Big Sur443
xnu-8019.41.5macOS 12.0 Monterey443
xnu-8792.41.9macOS 13.0 Ventura443
xnu-10002.1.13macOS 14.0 Sonoma443
xnu-11215.1.10macOS 15.0 Sequoia443
xnu-11417.101.15macOS 15.4 Sequoia443
xnu-12377.1.9macOS 26.0 Tahoe443
xnu-10002.41.9443
xnu-10002.61.3443
xnu-10002.81.5443
xnu-10063.101.15443
xnu-10063.121.3443
xnu-10063.141.1443
xnu-11215.41.3443
xnu-11215.61.5443
xnu-11215.81.4443
xnu-11417.121.6443
xnu-11417.140.69443
xnu-12377.101.15443
xnu-12377.41.6443
xnu-12377.61.12443
xnu-12377.81.4443
xnu-2422.1.72443
xnu-2422.100.13443
xnu-2422.110.17443
xnu-2422.90.20443
xnu-2782.1.97443
xnu-2782.10.72443
xnu-2782.20.48443
xnu-2782.30.5443
xnu-3247.10.11443
xnu-3248.20.55443
xnu-3248.30.4443
xnu-3248.40.184443
xnu-3248.50.21443
xnu-3248.60.10443
xnu-3789.21.4443
xnu-3789.31.2443
xnu-3789.41.3443
xnu-3789.51.2443
xnu-3789.60.24443
xnu-3789.70.16443
xnu-4570.20.62443
xnu-4570.31.3443
xnu-4570.41.2443
xnu-4570.51.1443
xnu-4570.61.1443
xnu-4570.71.2443
xnu-4903.231.4443
xnu-4903.241.1443
xnu-4903.270.47443
xnu-6153.101.6443
xnu-6153.121.1443
xnu-6153.141.1443
xnu-6153.41.3443
xnu-6153.61.1443
xnu-6153.81.5443
xnu-7195.101.1443
xnu-7195.121.3443
xnu-7195.141.2443
xnu-7195.60.75443
xnu-7195.81.3443
xnu-8019.61.5443
xnu-8019.80.24443
xnu-8020.101.4443
xnu-8020.121.3443
xnu-8020.140.41443
xnu-8792.61.2443
xnu-8792.81.2443
xnu-8796.101.5443
xnu-8796.121.2443
xnu-8796.141.3443

Notes

Combine kqueue() et l'installation de la garde en une étape sans course. libdispatch crée chaque kqueue workloop ainsi pour que tout close(2) accidentel par une bibliothèque fautive piège. La garde encode typiquement l'identité de la dispatch queue.

Détection

Même observabilité que kqueue ; la présence de la garde est visible via proc_pidfdinfo PROC_PIDFDKQUEUEINFO retournant un kq_guard non nul.

API associées

kqueueguarded_close_npchange_fdguard_npkevent_id