From de29422db2c023301336e49f1e54610c743328b1 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 10 Apr 2018 14:49:24 -0700 Subject: Eliminate possible data race on file descriptor. Turns out that shutdown is sufficient for most needs. --- src/platform/posix/posix_pipedesc.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/platform/posix/posix_pipedesc.c b/src/platform/posix/posix_pipedesc.c index 05f3f13f..d3c46f2d 100644 --- a/src/platform/posix/posix_pipedesc.c +++ b/src/platform/posix/posix_pipedesc.c @@ -47,7 +47,6 @@ static void nni_posix_pipedesc_doclose(nni_posix_pipedesc *pd) { nni_aio *aio; - int fd; pd->closed = true; while ((aio = nni_list_first(&pd->readq)) != NULL) { @@ -56,11 +55,9 @@ nni_posix_pipedesc_doclose(nni_posix_pipedesc *pd) while ((aio = nni_list_first(&pd->writeq)) != NULL) { nni_posix_pipedesc_finish(aio, NNG_ECLOSED); } - if ((fd = pd->node.fd) != -1) { + if (pd->node.fd != -1) { // Let any peer know we are closing. - pd->node.fd = -1; - (void) shutdown(fd, SHUT_RDWR); - (void) close(fd); + (void) shutdown(pd->node.fd, SHUT_RDWR); } } -- cgit v1.2.3-70-g09d2