Move socket data from TCB to task group structure.

git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5570 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2013-01-26 23:49:02 +00:00
parent b82c36961a
commit 47b94bafa5
24 changed files with 138 additions and 414 deletions
+3 -5
View File
@@ -1,7 +1,7 @@
/****************************************************************************
* include/nuttx/net/net.h
*
* Copyright (C) 2007, 2009-2012 Gregory Nutt. All rights reserved.
* Copyright (C) 2007, 2009-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -106,7 +106,6 @@ struct socket
struct socketlist
{
sem_t sl_sem; /* Manage access to the socket list */
int16_t sl_crefs; /* Reference count */
struct socket sl_sockets[CONFIG_NSOCKET_DESCRIPTORS];
};
#endif
@@ -145,9 +144,8 @@ int net_checksd(int fd, int oflags);
*/
void weak_function net_initialize(void);
FAR struct socketlist *net_alloclist(void);
int net_addreflist(FAR struct socketlist *list);
int net_releaselist(FAR struct socketlist *list);
void net_initlist(FAR struct socketlist *list);
void net_releaselist(FAR struct socketlist *list);
/* Given a socket descriptor, return the underly NuttX-specific socket
* structure.
+6 -7
View File
@@ -83,6 +83,8 @@
# define HAVE_TASK_GROUP 1
# elif CONFIG_NFILE_STREAMS > 0
# define HAVE_TASK_GROUP 1
# elif CONFIG_NSOCKET_DESCRIPTORS > 0
# define HAVE_TASK_GROUP 1
# endif
#endif
@@ -311,7 +313,10 @@ struct task_group_s
#endif /* CONFIG_NFILE_STREAMS */
/* Sockets ********************************************************************/
/* Not yet (see struct socketlist) */
#if CONFIG_NSOCKET_DESCRIPTORS > 0
struct socketlist tg_socketlist; /* Maps socket descriptor to socket */
#endif
};
#endif
@@ -450,12 +455,6 @@ struct _TCB
int pterrno; /* Current per-thread errno */
/* Network socket *************************************************************/
#if CONFIG_NSOCKET_DESCRIPTORS > 0
FAR struct socketlist *sockets; /* Maps file descriptor to file */
#endif
/* State save areas ***********************************************************/
/* The form and content of these fields are processor-specific. */