From: lordhavoc Date: Thu, 31 Jan 2002 12:16:59 +0000 (+0000) Subject: qsockets are now dynamically allocated/freed, this drops memory use by about 2mb X-Git-Tag: RELEASE_0_2_0_RC1~679 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=commitdiff_plain;h=6c91eeab7d4703223d749d576bdced3e92fb6880 qsockets are now dynamically allocated/freed, this drops memory use by about 2mb git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@1451 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/net.h b/net.h index 105df0f5..c962f626 100644 --- a/net.h +++ b/net.h @@ -126,7 +126,7 @@ typedef struct qsocket_s qboolean disconnected; qboolean canSend; qboolean sendNext; - + int driver; int landriver; int socket; @@ -149,8 +149,10 @@ typedef struct qsocket_s } qsocket_t; extern qsocket_t *net_activeSockets; -extern qsocket_t *net_freeSockets; -extern int net_numsockets; +// LordHavoc: sockets are dynamically allocated now +//extern qsocket_t *net_freeSockets; +//extern int net_numsockets; +extern mempool_t *net_mempool; typedef struct { diff --git a/net_dgrm.c b/net_dgrm.c index 6b89add7..513c2561 100644 --- a/net_dgrm.c +++ b/net_dgrm.c @@ -487,18 +487,20 @@ void NET_Stats_f (void) { for (s = net_activeSockets; s; s = s->next) PrintStats(s); - for (s = net_freeSockets; s; s = s->next) - PrintStats(s); + // LordHavoc: sockets are dynamically allocated now + //for (s = net_freeSockets; s; s = s->next) + // PrintStats(s); } else { for (s = net_activeSockets; s; s = s->next) if (Q_strcasecmp(Cmd_Argv(1), s->address) == 0) break; - if (s == NULL) - for (s = net_freeSockets; s; s = s->next) - if (Q_strcasecmp(Cmd_Argv(1), s->address) == 0) - break; + // LordHavoc: sockets are dynamically allocated now + //if (s == NULL) + // for (s = net_freeSockets; s; s = s->next) + // if (Q_strcasecmp(Cmd_Argv(1), s->address) == 0) + // break; if (s == NULL) return; PrintStats(s); diff --git a/net_main.c b/net_main.c index df40cad6..516060d4 100644 --- a/net_main.c +++ b/net_main.c @@ -21,9 +21,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "quakedef.h" -qsocket_t *net_activeSockets = NULL; -qsocket_t *net_freeSockets = NULL; -int net_numsockets = 0; +qsocket_t *net_activeSockets = NULL; +//qsocket_t *net_freeSockets = NULL; +//int net_numsockets = 0; +mempool_t *net_mempool; qboolean ipxAvailable = false; qboolean tcpipAvailable = false; @@ -89,15 +90,17 @@ qsocket_t *NET_NewQSocket (void) { qsocket_t *sock; - if (net_freeSockets == NULL) - return NULL; +// if (net_freeSockets == NULL) +// return NULL; if (net_activeconnections >= svs.maxclients) return NULL; // get one from free list - sock = net_freeSockets; - net_freeSockets = sock->next; +// sock = net_freeSockets; +// net_freeSockets = sock->next; + // LordHavoc: sockets are dynamically allocated now + sock = Mem_Alloc(net_mempool, sizeof(qsocket_t)); // add it to active list sock->next = net_activeSockets; @@ -144,9 +147,11 @@ void NET_FreeQSocket(qsocket_t *sock) } // add it to free list - sock->next = net_freeSockets; - net_freeSockets = sock; - sock->disconnected = true; +// sock->next = net_freeSockets; +// net_freeSockets = sock; +// sock->disconnected = true; + // LordHavoc: sockets are dynamically allocated now + Mem_Free(sock); } @@ -556,7 +561,7 @@ int NET_SendMessage (qsocket_t *sock, sizebuf_t *data) r = sfunc.QSendMessage(sock, data); if (r == 1 && sock->driver) messagesSent++; - + return r; } @@ -691,13 +696,12 @@ NET_Init ==================== */ -static mempool_t *net_mempool; - void NET_Init (void) { int i; int controlSocket; - qsocket_t *s; + // LordHavoc: sockets are dynamically allocated now + //qsocket_t *s; i = COM_CheckParm ("-port"); if (!i) @@ -716,13 +720,16 @@ void NET_Init (void) if (COM_CheckParm("-listen") || cls.state == ca_dedicated) listening = true; - net_numsockets = svs.maxclientslimit; - if (cls.state != ca_dedicated) - net_numsockets++; + // LordHavoc: sockets are dynamically allocated now + //net_numsockets = svs.maxclientslimit; + //if (cls.state != ca_dedicated) + // net_numsockets++; SetNetTime(); net_mempool = Mem_AllocPool("qsocket"); + // LordHavoc: sockets are dynamically allocated now + /* s = Mem_Alloc(net_mempool, net_numsockets * sizeof(qsocket_t)); for (i = 0; i < net_numsockets; i++) { @@ -731,6 +738,7 @@ void NET_Init (void) s->disconnected = true; s++; } + */ // allocate space for network message buffer SZ_Alloc (&net_message, NET_MAXMESSAGE, "net_message");