MINOR: sock_raw: move calls to si_data_close upper
Some users of si_data_close() need to have the fd still open,
so we must move the call before fd_delete().
diff --git a/src/sock_raw.c b/src/sock_raw.c
index 1532e76..a50d77a 100644
--- a/src/sock_raw.c
+++ b/src/sock_raw.c
@@ -710,6 +710,7 @@
/* we may have to close a pending connection, and mark the
* response buffer as shutr
*/
+ si_data_close(si);
fd_delete(si_fd(si));
/* fall through */
case SI_ST_CER:
@@ -717,7 +718,6 @@
case SI_ST_TAR:
si->state = SI_ST_DIS;
- si_data_close(si);
if (si->release)
si->release(si);
default:
@@ -748,11 +748,11 @@
return;
if (si->ob->flags & BF_SHUTW) {
+ si_data_close(si);
fd_delete(si_fd(si));
si->state = SI_ST_DIS;
si->exp = TICK_ETERNITY;
- si_data_close(si);
if (si->release)
si->release(si);
return;