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
| Name | Type | Dir | Description |
|---|---|---|---|
| guard | const guardid_t | - | |
| guardflags | u_int | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-2422.115.4 | macOS 10.9 Mavericks | 443 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 443 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 443 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 443 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 443 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 443 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 443 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 443 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 443 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 443 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 443 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 443 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 443 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 443 |
| 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