From 3433cb9f5a47477bc02420b2e319d66929f46294 Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Wed, 10 Jun 2020 23:43:23 +0200 Subject: Check the return value from server_new --- utils.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'utils.c') diff --git a/utils.c b/utils.c index 08a5464..45ecf92 100644 --- a/utils.c +++ b/utils.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include "main.h" #include "utils.h" @@ -108,6 +110,8 @@ void debug_resource_usage() { struct allocation *a; + DIR *dir; + struct dirent *dent; fprintf(stderr, "Still malloced %i (total %u)\n", malloc_count, total_malloc_count); @@ -116,6 +120,22 @@ debug_resource_usage() fprintf(stderr, "* Lost allocation - %s:%i - ptr: %p, size: %zu\n", a->callerfn, a->line, a->ptr, a->size); } + + dir = opendir("/proc/self/fd"); + if (!dir) { + fprintf(stderr, "Failed to open fd dir\n"); + return; + } + + fprintf(stderr, "Open files:\n"); + while ((dent = readdir(dir)) != NULL) { + if (!strcmp(dent->d_name, ".") || + !strcmp(dent->d_name, "..")) + continue; + + fprintf(stderr, " * %s\n", dent->d_name); + } + closedir(dir); } uint16_t sockaddr_port(struct sockaddr_in46 *addr) -- cgit v1.2.3