From fad0753b3435c6ce13536188b74f08c76309a1be Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 7 Oct 2010 06:07:57 +0800 Subject: msc: Only unregister the fd if the fd value is valid. This makes sure that someone can call bsc_msc_lost multiple times even if there is no MSC connection. This makes sense as bsc_msc_lost is public and be called from client code. --- openbsc/src/bsc_msc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'openbsc/src/bsc_msc.c') diff --git a/openbsc/src/bsc_msc.c b/openbsc/src/bsc_msc.c index a5734de51..f11669361 100644 --- a/openbsc/src/bsc_msc.c +++ b/openbsc/src/bsc_msc.c @@ -216,7 +216,9 @@ void bsc_msc_lost(struct bsc_msc_connection *con) { write_queue_clear(&con->write_queue); bsc_del_timer(&con->timeout_timer); - bsc_unregister_fd(&con->write_queue.bfd); + + if (con->write_queue.bfd.fd >= 0) + bsc_unregister_fd(&con->write_queue.bfd); connection_loss(con); } -- cgit v1.2.3