summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/libnetworking/rtems/rtems_syscall.c5
-rw-r--r--c/src/lib/libnetworking/rtems/rtems_syscall.c5
-rw-r--r--c/src/libnetworking/rtems/rtems_syscall.c5
-rw-r--r--cpukit/libnetworking/rtems/rtems_syscall.c5
4 files changed, 8 insertions, 12 deletions
diff --git a/c/src/exec/libnetworking/rtems/rtems_syscall.c b/c/src/exec/libnetworking/rtems/rtems_syscall.c
index a526eb2254..782a2f907b 100644
--- a/c/src/exec/libnetworking/rtems/rtems_syscall.c
+++ b/c/src/exec/libnetworking/rtems/rtems_syscall.c
@@ -683,16 +683,15 @@ rtems_bsdnet_close (int fd)
rtems_bsdnet_semaphore_release ();
return -1;
}
- error = soclose (so);
i = rtems_file_descriptor_base(fd);
fdsock[i].indexFreeNext = indexFreeHead;;
indexFreeHead = i;
+ error = soclose (so);
+ rtems_bsdnet_semaphore_release ();
if (error) {
errno = error;
- rtems_bsdnet_semaphore_release ();
return -1;
}
- rtems_bsdnet_semaphore_release ();
return 0;
}
diff --git a/c/src/lib/libnetworking/rtems/rtems_syscall.c b/c/src/lib/libnetworking/rtems/rtems_syscall.c
index a526eb2254..782a2f907b 100644
--- a/c/src/lib/libnetworking/rtems/rtems_syscall.c
+++ b/c/src/lib/libnetworking/rtems/rtems_syscall.c
@@ -683,16 +683,15 @@ rtems_bsdnet_close (int fd)
rtems_bsdnet_semaphore_release ();
return -1;
}
- error = soclose (so);
i = rtems_file_descriptor_base(fd);
fdsock[i].indexFreeNext = indexFreeHead;;
indexFreeHead = i;
+ error = soclose (so);
+ rtems_bsdnet_semaphore_release ();
if (error) {
errno = error;
- rtems_bsdnet_semaphore_release ();
return -1;
}
- rtems_bsdnet_semaphore_release ();
return 0;
}
diff --git a/c/src/libnetworking/rtems/rtems_syscall.c b/c/src/libnetworking/rtems/rtems_syscall.c
index a526eb2254..782a2f907b 100644
--- a/c/src/libnetworking/rtems/rtems_syscall.c
+++ b/c/src/libnetworking/rtems/rtems_syscall.c
@@ -683,16 +683,15 @@ rtems_bsdnet_close (int fd)
rtems_bsdnet_semaphore_release ();
return -1;
}
- error = soclose (so);
i = rtems_file_descriptor_base(fd);
fdsock[i].indexFreeNext = indexFreeHead;;
indexFreeHead = i;
+ error = soclose (so);
+ rtems_bsdnet_semaphore_release ();
if (error) {
errno = error;
- rtems_bsdnet_semaphore_release ();
return -1;
}
- rtems_bsdnet_semaphore_release ();
return 0;
}
diff --git a/cpukit/libnetworking/rtems/rtems_syscall.c b/cpukit/libnetworking/rtems/rtems_syscall.c
index a526eb2254..782a2f907b 100644
--- a/cpukit/libnetworking/rtems/rtems_syscall.c
+++ b/cpukit/libnetworking/rtems/rtems_syscall.c
@@ -683,16 +683,15 @@ rtems_bsdnet_close (int fd)
rtems_bsdnet_semaphore_release ();
return -1;
}
- error = soclose (so);
i = rtems_file_descriptor_base(fd);
fdsock[i].indexFreeNext = indexFreeHead;;
indexFreeHead = i;
+ error = soclose (so);
+ rtems_bsdnet_semaphore_release ();
if (error) {
errno = error;
- rtems_bsdnet_semaphore_release ();
return -1;
}
- rtems_bsdnet_semaphore_release ();
return 0;
}