Skip to content

Commit 9b77e75

Browse files
Merge pull request #7 from weston-embedded/bugfix/issue-3
Fixed how HTTPsConn_Process() handles the HTTP_SOCK_STATE_ERR state s…
2 parents 51b1a83 + 9654406 commit 9b77e75

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Server/Source/http-s_conn.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ void HTTPsConn_Process (HTTPs_INSTANCE *p_instance)
9191
const HTTPs_CFG *p_cfg;
9292
HTTPs_CONN *p_conn;
9393
HTTPs_CONN *p_conn_next;
94+
NET_ERR net_err;
9495
CPU_BOOLEAN done;
9596
CPU_BOOLEAN hook_def;
9697
CPU_BOOLEAN process;
@@ -138,6 +139,12 @@ void HTTPsConn_Process (HTTPs_INSTANCE *p_instance)
138139

139140

140141
case HTTPs_SOCK_STATE_ERR: /* Fatal err. */
142+
if (p_conn->State == HTTPs_CONN_STATE_ERR_INTERNAL) {
143+
process = DEF_YES;
144+
break;
145+
}
146+
/* 'break;' intentionally omitted. */
147+
141148
case HTTPs_SOCK_STATE_CLOSE: /* Transaction completed. */
142149
default:
143150
HTTPsConn_Close(p_instance, p_conn);
@@ -237,7 +244,9 @@ void HTTPsConn_Process (HTTPs_INSTANCE *p_instance)
237244

238245
case HTTPs_CONN_STATE_ERR_INTERNAL:
239246
HTTPsConn_ErrInternal(p_instance, p_conn);
240-
p_conn->SockState = HTTPs_SOCK_STATE_CLOSE;
247+
p_conn->SockState = NetSock_IsConn(p_conn->SockID, &net_err) ?
248+
HTTPs_SOCK_STATE_ERR :
249+
HTTPs_SOCK_STATE_CLOSE;
241250
break;
242251

243252

0 commit comments

Comments
 (0)