Raw sockets: Various fixes for closing, free connections, TX from Daniel Lazo Sitzer
This commit is contained in:
parent
04e564c9c3
commit
28c4cf6d5a
21
net/socket.c
21
net/socket.c
@ -164,13 +164,26 @@ int psock_socket(int domain, int type, int protocol, FAR struct socket *psock)
|
||||
#ifdef CONFIG_NET_PKT
|
||||
case SOCK_RAW:
|
||||
{
|
||||
/* Allocate the packet socket connection structure and save
|
||||
* in the new socket instance.
|
||||
*/
|
||||
|
||||
struct uip_pkt_conn *conn = uip_pktalloc();
|
||||
if (conn)
|
||||
if (!conn)
|
||||
{
|
||||
DEBUGASSERT(conn->crefs == 0);
|
||||
psock->s_conn = conn;
|
||||
conn->crefs = 1;
|
||||
/* Failed to reserve a connection structure */
|
||||
|
||||
goto errout;
|
||||
}
|
||||
|
||||
/* Set the reference count on the connection structure. This
|
||||
* reference count will be increment only if the socket is
|
||||
* dup'ed
|
||||
*/
|
||||
|
||||
DEBUGASSERT(conn->crefs == 0);
|
||||
psock->s_conn = conn;
|
||||
conn->crefs = 1;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
@ -85,7 +85,7 @@ static int uip_pollpktconnections(struct uip_driver_s *dev,
|
||||
|
||||
/* Call back into the driver */
|
||||
|
||||
callback(dev);
|
||||
bstop = callback(dev);
|
||||
}
|
||||
|
||||
return bstop;
|
||||
|
Loading…
Reference in New Issue
Block a user