summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2020-06-10 23:43:23 +0200
committerDavid Härdeman <david@hardeman.nu>2020-06-10 23:43:23 +0200
commit3433cb9f5a47477bc02420b2e319d66929f46294 (patch)
tree2714ab7ae81f79ec6ad740fac454b787b9e159d4 /utils.c
parent5fb493c99846cb475dab7321a4d835025c96051b (diff)
Check the return value from server_new
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/utils.c b/utils.c
index 08a5464..45ecf92 100644
--- a/utils.c
+++ b/utils.c
@@ -4,6 +4,8 @@
#include <limits.h>
#include <arpa/inet.h>
#include <string.h>
+#include <sys/types.h>
+#include <dirent.h>
#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)