summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorcelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-23 15:26:52 +0000
committercelest <celest@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-23 15:26:52 +0000
commit33b8fd47955eeab26cede233b14d683b8e0491b8 (patch)
tree041f7df2acc8b46bdb56512f06b0f9706fe6ec29 /src/common
parent7d3fedfa5c264169c544fe3ec977229c50e4baa2 (diff)
downloadhercules-33b8fd47955eeab26cede233b14d683b8e0491b8.tar.gz
hercules-33b8fd47955eeab26cede233b14d683b8e0491b8.tar.bz2
hercules-33b8fd47955eeab26cede233b14d683b8e0491b8.tar.xz
hercules-33b8fd47955eeab26cede233b14d683b8e0491b8.zip
* Fixed alot of memory leaks
* Added stray memory cleaning routine to db.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1275 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/common')
-rw-r--r--src/common/core.c12
-rw-r--r--src/common/malloc.c4
-rw-r--r--src/common/malloc.h3
-rw-r--r--src/common/socket.c8
-rw-r--r--src/common/timer.h4
5 files changed, 14 insertions, 17 deletions
diff --git a/src/common/core.c b/src/common/core.c
index 96d2c872b..03945040a 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -285,6 +285,12 @@ int main(int argc,char **argv)
{
int next;
+ display_title();
+#ifdef USE_MEMMGR
+ // call this first so it'll be finalised last
+ do_init_memmgr(argv[0]); // 一番最初に実行する必要がある
+#endif
+
sscanf(argv[0], "./%24[^\n]", server_type); // map/char/login?
atexit(log_uptime);
pid_create(argv[0]);
@@ -305,12 +311,6 @@ int main(int argc,char **argv)
compat_signal(SIGTRAP, SIG_DFL);
#endif
- display_title();
-
-#ifdef USE_MEMMGR
- do_init_memmgr(argv[0]); // 一番最初に実行する必要がある
-#endif
-
tick_ = time(0);
ticks = gettick();
diff --git a/src/common/malloc.c b/src/common/malloc.c
index 40c9f34bf..703933d01 100644
--- a/src/common/malloc.c
+++ b/src/common/malloc.c
@@ -7,9 +7,6 @@
#include "memwatch.h"
#endif
-// 独自メモリマネージャを使用する場合、次のコメントを外してください。
-// #define USE_MEMMGR
-
#if !defined(DMALLOC) && !defined(GCOLLECT) && !defined(BCHECK) && !defined(USE_MEMMGR)
void* aMalloc_( size_t size, const char *file, int line, const char *func )
@@ -537,6 +534,7 @@ static void memmer_exit(void) {
printf("memmgr: no memory leaks found.\n");
} else {
printf("memmgr: memory leaks found.\n");
+ fclose(fp);
}
}
diff --git a/src/common/malloc.h b/src/common/malloc.h
index 45451c9e0..eec138cdd 100644
--- a/src/common/malloc.h
+++ b/src/common/malloc.h
@@ -3,6 +3,9 @@
#include <stdlib.h>
+// 独自メモリマネージャを使用する場合、次のコメントを外してください。
+// #define USE_MEMMGR
+
#if defined(DMALLOC)
# include "dmalloc.h"
diff --git a/src/common/socket.c b/src/common/socket.c
index f49d4c0ca..1c4d5931a 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -943,11 +943,9 @@ void do_final_socket(void)
aFree(access_deny);
// session[0] のダミーデータを削除
- if (session[0]) {
- aFree(session[0]->rdata);
- aFree(session[0]->wdata);
- aFree(session[0]);
- }
+ aFree(session[0]->rdata);
+ aFree(session[0]->wdata);
+ aFree(session[0]);
}
void do_socket(void)
diff --git a/src/common/timer.h b/src/common/timer.h
index c43c0e6b0..57036ae01 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -36,11 +36,9 @@ int addtick_timer(int tid,unsigned int tick);
struct TimerData *get_timer(int tid);
int do_timer(unsigned int tick);
+void timer_final();
int add_timer_func_list(int (*)(int,unsigned int,int,int),char*);
-void do_final_timer(void);
char* search_timer_func_list(int (*)(int,unsigned int,int,int));
-extern void timer_final();
-
#endif // _TIMER_H_