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.9—443
xnu-10002.61.3—443
xnu-10002.81.5—443
xnu-10063.101.15—443
xnu-10063.121.3—443
xnu-10063.141.1—443
xnu-11215.41.3—443
xnu-11215.61.5—443
xnu-11215.81.4—443
xnu-11417.121.6—443
xnu-11417.140.69—443
xnu-12377.101.15—443
xnu-12377.41.6—443
xnu-12377.61.12—443
xnu-12377.81.4—443
xnu-2422.1.72—443
xnu-2422.100.13—443
xnu-2422.110.17—443
xnu-2422.90.20—443
xnu-2782.1.97—443
xnu-2782.10.72—443
xnu-2782.20.48—443
xnu-2782.30.5—443
xnu-3247.10.11—443
xnu-3248.20.55—443
xnu-3248.30.4—443
xnu-3248.40.184—443
xnu-3248.50.21—443
xnu-3248.60.10—443
xnu-3789.21.4—443
xnu-3789.31.2—443
xnu-3789.41.3—443
xnu-3789.51.2—443
xnu-3789.60.24—443
xnu-3789.70.16—443
xnu-4570.20.62—443
xnu-4570.31.3—443
xnu-4570.41.2—443
xnu-4570.51.1—443
xnu-4570.61.1—443
xnu-4570.71.2—443
xnu-4903.231.4—443
xnu-4903.241.1—443
xnu-4903.270.47—443
xnu-6153.101.6—443
xnu-6153.121.1—443
xnu-6153.141.1—443
xnu-6153.41.3—443
xnu-6153.61.1—443
xnu-6153.81.5—443
xnu-7195.101.1—443
xnu-7195.121.3—443
xnu-7195.141.2—443
xnu-7195.60.75—443
xnu-7195.81.3—443
xnu-8019.61.5—443
xnu-8019.80.24—443
xnu-8020.101.4—443
xnu-8020.121.3—443
xnu-8020.140.41—443
xnu-8792.61.2—443
xnu-8792.81.2—443
xnu-8796.101.5—443
xnu-8796.121.2—443
xnu-8796.141.3—443

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