summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
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)