summaryrefslogtreecommitdiff
path: root/emulator/server.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2012-11-27 10:26:23 +0100
committerMarcel Holtmann <marcel@holtmann.org>2012-11-27 10:26:23 +0100
commitb823e9e96076902b811975264e57a5d218ac8fa8 (patch)
tree54e0aedc4d10484d9def62e6792718cfdc2aeb4c /emulator/server.c
parent58f8c75c0b094cf9106efc271f4fafd282e6705c (diff)
downloadbluez-b823e9e96076902b811975264e57a5d218ac8fa8.tar.gz
emulator: Add handling for monitor server instance
Diffstat (limited to 'emulator/server.c')
-rw-r--r--emulator/server.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/emulator/server.c b/emulator/server.c
index 841c2b31b..e4c4570b9 100644
--- a/emulator/server.c
+++ b/emulator/server.c
@@ -117,6 +117,9 @@ again:
return;
}
+ if (!client->btdev)
+ return;
+
count = client->pkt_offset + len;
while (count > 0) {
@@ -223,6 +226,8 @@ static void server_accept_callback(int fd, uint32_t events, void *user_data)
case SERVER_TYPE_AMP:
type = BTDEV_TYPE_AMP;
break;
+ case SERVER_TYPE_MONITOR:
+ goto done;
}
client->btdev = btdev_create(type, server->id);
@@ -234,6 +239,7 @@ static void server_accept_callback(int fd, uint32_t events, void *user_data)
btdev_set_send_handler(client->btdev, client_write_callback, client);
+done:
if (mainloop_add_fd(client->fd, EPOLLIN, client_read_callback,
client, client_destroy) < 0) {
btdev_destroy(client->btdev);