summaryrefslogtreecommitdiff
path: root/src/daemon/dlt_daemon_connection.c
diff options
context:
space:
mode:
authorVo Trung Chi <Chi.VoTrung@vn.bosch.com>2019-05-15 16:16:30 +0700
committerSaya Sugiura <ssugiura@jp.adit-jv.com>2019-06-18 17:22:09 +0900
commitc6be4affa0b817437e5c11ced065195459818be3 (patch)
tree6cc1b30e8c61fb7dc01634e22120054640a242fa /src/daemon/dlt_daemon_connection.c
parent3580c5640c5578f508e93a8a851231b389d327cd (diff)
downloadDLT-daemon-c6be4affa0b817437e5c11ced065195459818be3.tar.gz
daemon: Loop for client fds
In dlt_daemon_client_send_all_multiple(), while in the loop, the connection to client may be destroyed by recursive call to dlt_daemon_close_socket(). So in some scenario we still use the removed connection, which is unexpected behavior. Solution: loop on the fds array and find the client connection corresponds to. Signed-off-by: Vo Trung Chi <Chi.VoTrung@vn.bosch.com>
Diffstat (limited to 'src/daemon/dlt_daemon_connection.c')
-rw-r--r--src/daemon/dlt_daemon_connection.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/daemon/dlt_daemon_connection.c b/src/daemon/dlt_daemon_connection.c
index 456a075..b1a4080 100644
--- a/src/daemon/dlt_daemon_connection.c
+++ b/src/daemon/dlt_daemon_connection.c
@@ -340,9 +340,6 @@ void dlt_connection_destroy(DltConnection *to_destroy)
to_destroy->id = 0;
close(to_destroy->receiver->fd);
dlt_connection_destroy_receiver(to_destroy);
- /* connection pointer might be in poll queue and used even after destroying
- * it. To make sure it is not used anymore, connection type is invalidated */
- to_destroy->type = DLT_CONNECTION_TYPE_MAX;
free(to_destroy);
}