[Linuxtrent] Re: bind() fallisce con EADDRINUSE

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Mon, 25 Oct 2010 11:10:39 +0200

2010/10/25 Michele Bert <micbert75@xxxxxxxxx>:
> Ciao a tutti.
> Ho un processo che non parte a causa dell'errore in oggetto. Dal
> momento che il processo in questione non risulta attivo, posso
> immaginare che sia andato in crash, e sia quindi terminato senza
> chiudere la porta. Si tratta di un'ipotesi verosimile? Esiste un modo
> per liberare quella porta, senza riavviare tutto il PC?

Il kernel ha una o più connessioni ancora in chiusura (TIME_WAIT
o altro), quindi il socket è occupato anche se non trovi il servizio
tra i processi attivi.

Se hai i sorgenti, assicurati di settare SO_REUSEATTR nelle
opzioni del socket, prima di fare bind(): "man 7 socket" per
capirci di più.

Antonio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: