if (rem_client == NULL)
return;
- if (0 < rem_client->sock_fd)
+ if (0 < rem_client->sock_fd) {
+ shutdown(rem_client->sock_fd, SHUT_RDWR);
close(rem_client->sock_fd);
+ }
if (rem_client->watch_id > 0)
g_source_remove(rem_client->watch_id);
} while(info->conn_list);
}
- if (info->server_fd)
+ if (info->server_fd) {
+ shutdown(info->server_fd, SHUT_RDWR);
close(info->server_fd);
+ }
if (info->watch_id)
g_source_remove(info->watch_id);
return BLUETOOTH_ERROR_INVALID_PARAM;
}
- close(server_info->server_fd);
- server_info->server_fd = -1;
+ __remove_rfcomm_server(server_info);
return BLUETOOTH_ERROR_NONE;
#endif
}
if (client_info->sock_fd) {
+ shutdown(client_info->sock_fd, SHUT_RDWR);
close(client_info->sock_fd);
client_info->sock_fd = -1;
}