Skip to content
Syscall BSD#30

svc · unix #30

accept

Retire la première connexion complétée d'une socket en écoute et renvoie un nouveau descripteur.

Prototype

int accept(int s, caddr_t name, socklen_t *anamelen);

Retour: int

Arguments

NameTypeDirDescription
sint-
namecaddr_t-
anamelensocklen_t-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard30
xnu-1486.2.1130
xnu-1504.15.330
xnu-1504.3.1230
xnu-1504.7.430
xnu-1504.9.1730
xnu-1504.9.2630
xnu-1504.9.3730

Notes

macOS prend en charge l'accept bloquant classique et le comportement de type accept4 via fcntl sur le descripteur renvoyé. Les connexions passant la politique NECP mais bloquées par un filtre de contenu n'apparaissent jamais ici — le filtre les rejette avant qu'elles n'atteignent so_comp. Pour les serveurs à haut débit, kqueue avec EVFILT_READ sur la socket en écoute coalesce les notifications accept-ready.

Détection

Aucune couverture ES directe. Les flux entrants remontent à handleNewFlow de NEFilterDataProvider avec un NEFilterSocketFlow dont la direction est .inbound. proc_pidfdinfo sur le fd accepté fournit le sockaddr distant pour de la journalisation forensique.

API associées

socketbindlistengetpeernameshutdown