summaryrefslogtreecommitdiff
path: root/c_src/permdbport.c
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2015-09-28 16:42:04 +0200
committerLinus Nordberg <linus@nordu.net>2015-11-11 13:32:37 +0100
commit9b2e72510b33547794207043714f52e16239b3f5 (patch)
tree5e9461b694a4c9c25108e8843122aa42454a1a6f /c_src/permdbport.c
parent90760d10d14c11ee4c99826163c206bbf20a77f6 (diff)
Added permdb
Diffstat (limited to 'c_src/permdbport.c')
-rw-r--r--c_src/permdbport.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/c_src/permdbport.c b/c_src/permdbport.c
new file mode 100644
index 0000000..4215d68
--- /dev/null
+++ b/c_src/permdbport.c
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2015, NORDUnet A/S.
+ * See LICENSE for licensing information.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <assert.h>
+#include <err.h>
+#include <sys/resource.h>
+#include "permdb.h"
+#include "erlport.h"
+
+static void
+usage()
+{
+ errx(1, "usage: permdbport <path>");
+}
+
+int
+main(int argc, char *argv[])
+{
+ if (argc != 2) {
+ usage();
+ }
+ const char *store = argv[1];
+
+ permdb_object *state = permdb_alloc(store);
+
+ if (state == NULL) {
+ write_reply(NULL, 0, 4);
+ }
+
+ portloop(state);
+
+ struct rusage rusage;
+ getrusage(RUSAGE_SELF, &rusage);
+ fprintf(stderr, "permdbport user %ld.%d sys %ld.%d maxrss %ld M\n", rusage.ru_utime.tv_sec, (int)rusage.ru_utime.tv_usec, rusage.ru_stime.tv_sec, (int)rusage.ru_utime.tv_usec, rusage.ru_maxrss/1024);
+
+ return 0;
+}