aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/shared.c b/shared.c
index 1a46a92..dae0be0 100644
--- a/shared.c
+++ b/shared.c
@@ -579,7 +579,10 @@ void iemnet__receiver_destroy(t_iemnet_receiver*rec) {
if(rec->data)iemnet__chunk_destroy(rec->data);
if(rec->flist)iemnet__floatlist_destroy(rec->flist);
clock_free(rec->clock);
- sys_closesocket(rec->sockfd);
+ rec->clock=NULL;
+
+ shutdown(rec->sockfd, 2); /* needed on linux, since the recv won't shutdown on sys_closesocket() alone */
+ sys_closesocket(rec->sockfd);
rec->sockfd=0;
fprintf(stderr, "receiverdestroy join thread\n");