Aller au contenu
uencoder

SO_LINGER

SO_LINGER contrôle le comportement de close() : fermer immédiatement avec un RST, ou attendre (avec un délai) que les données en file soient drainées avant de fermer.

Objectif

Façonne la sémantique de close() quand il faut soit garantir la livraison avant l'arrêt, soit libérer la connexion d'un coup.

Mécanisme

Avec linger activé et un délai, close() bloque jusqu'à l'envoi des données ou l'expiration du délai, puis envoie un RST. Avec linger désactivé (par défaut), close() revient immédiatement et les données restantes partent en arrière-plan. Le RST immédiat sert aux déconnexions anormales.

Cas d’usage

  • Arrêt gracieux des connexions
  • Réinitialisation abrupte des connexions
  • Arrêt de serveurs

Outils associés

References