commit fe8ac13709ff522981b4d48fa280922c12d1eb32
parent d371e6bf2f54218b2f851dea60dc0dcf0e27f069
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Fri, 13 Jan 2023 17:54:19 +0900
find memory leak in lhandle_collision()
Diffstat:
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/ex9/main.c b/ex9/main.c
@@ -5,6 +5,8 @@
 #include <unistd.h>
 #include <string.h>
 
+#include <sys/resource.h> // for debuging of memory leak
+
 #include "list.h"
 #include "object.h"
 #include "draw.h"
@@ -148,6 +150,8 @@ game_play(void)
 	int cur_fps = 0;
 	char debug_msg[NDMSG][DMAXLEN] = {0};
 
+	struct rusage rusage; // for debuging of memory leak
+
 	ol = NULL;
 
 	/* setup collision handler */
@@ -231,7 +235,6 @@ game_play(void)
 		t0 = ts.tv_nsec;
 
 		for (int k = 0; k < SUB_FRAME; k++) {
-			// TODO: should be done for ol
 			for (olc = ol; olc != NULL; olc = olc->next) {
 				((Object *)olc->item)->next_tick((Object *)olc->item,
 					1e9 / FPS / SUB_FRAME);
@@ -273,7 +276,14 @@ game_play(void)
 				snprintf(debug_msg[DVEL], DMAXLEN,
 					"vel: (%3.0f, %3.0f)", player->v.x, player->v.y);
 			}
+
+
+			printf("------------------------\n");
+			getrusage(RUSAGE_SELF, &rusage);
+			printf("0 maxrss: %ld\n", rusage.ru_maxrss);
 			lhandle_collision(ol);
+			getrusage(RUSAGE_SELF, &rusage);
+			printf("1 maxrss: %ld\n", rusage.ru_maxrss);
 		}
 
 		// fix fps