Browse Source

Fixed bug #28865 (Cannot close socket/netconn in non-blocking connect)

STABLE-2_1_x
goldsimon 16 years ago
parent
commit
c73b1b4fa2
  1. 4
      CHANGELOG
  2. 6
      src/api/api_msg.c

4
CHANGELOG

@ -110,6 +110,10 @@ HISTORY
++ Bugfixes:
2010-02-12: Simon Goldschmidt/Stephane Lesage
* api_msg.c: Fixed bug #28865 (Cannot close socket/netconn in non-blocking
connect)
2010-02-12: Simon Goldschmidt
* mem.h: Fixed bug #28866 (mem_realloc function defined in mem.h)

6
src/api/api_msg.c

@ -762,11 +762,15 @@ void
do_delconn(struct api_msg_msg *msg)
{
/* @todo TCP: abort running write/connect? */
if ((msg->conn->state != NETCONN_NONE) && (msg->conn->state != NETCONN_LISTEN)) {
if ((msg->conn->state != NETCONN_NONE) &&
(msg->conn->state != NETCONN_LISTEN) &&
(msg->conn->state != NETCONN_CONNECT)) {
/* this only happens for TCP netconns */
LWIP_ASSERT("msg->conn->type == NETCONN_TCP", msg->conn->type == NETCONN_TCP);
msg->err = ERR_INPROGRESS;
} else {
LWIP_ASSERT("blocking connect in progress",
(msg->conn->state != NETCONN_CONNECT) || IN_NONBLOCKING_CONNECT(msg->conn));
/* Drain and delete mboxes */
netconn_drain(msg->conn);

Loading…
Cancel
Save