[ATM]: track and close listen sockets when sigd exits

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
This commit is contained in:
Chas Williams
2005-09-28 16:35:01 -07:00
committed by David S. Miller
parent e2c4b72158
commit 9301e320e9
3 changed files with 7 additions and 6 deletions

View File

@@ -217,8 +217,9 @@ void sigd_enq(struct atm_vcc *vcc,enum atmsvc_msg_type type,
static void purge_vcc(struct atm_vcc *vcc)
{
if (sk_atm(vcc)->sk_family == PF_ATMSVC &&
!test_bit(ATM_VF_META,&vcc->flags)) {
set_bit(ATM_VF_RELEASED,&vcc->flags);
!test_bit(ATM_VF_META, &vcc->flags)) {
set_bit(ATM_VF_RELEASED, &vcc->flags);
clear_bit(ATM_VF_REGIS, &vcc->flags);
vcc_release_async(vcc, -EUNATCH);
}
}
@@ -243,8 +244,7 @@ static void sigd_close(struct atm_vcc *vcc)
sk_for_each(s, node, head) {
struct atm_vcc *vcc = atm_sk(s);
if (vcc->dev)
purge_vcc(vcc);
purge_vcc(vcc);
}
}
read_unlock(&vcc_sklist_lock);