summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2007-08-27 21:54:25 +0000
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2007-08-27 21:54:25 +0000
commitb45b4cd6326d86970392cd8d465c5c8fa891b212 (patch)
treedc8ae26401a5e1d16f4c81716f5998bfffe65c48
parent892a1edab753356dba7c0b5373e414ea71fcf6fa (diff)
network: fixed Disable - record unregistration
-rw-r--r--network/server.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/network/server.c b/network/server.c
index 5694bd53..3fc6900e 100644
--- a/network/server.c
+++ b/network/server.c
@@ -755,15 +755,20 @@ static int record_and_listen(struct network_server *ns)
{
int err;
+ if (bnep_io == NULL && (err = server_init(ns)) < 0)
+ return -err;
+
/* Add the service record */
ns->record_id = add_server_record(ns);
if (!ns->record_id) {
error("Unable to register the server(0x%x) service record", ns->id);
+ g_io_channel_close(bnep_io);
+ g_io_channel_unref(bnep_io);
+ bnep_io = NULL;
return -EIO;
}
- if (bnep_io == NULL && (err = server_init(ns)) < 0)
- return -err;
+ ns->enable = TRUE;
return 0;
}