]> git.sur5r.net Git - i3/i3/blobdiff - src/log.c
OpenBSD lacks posix_fallocate()
[i3/i3] / src / log.c
index 68131af88daae542cd9f2c792bf1e2a3331c8768..7bd2e74e5494553e047ba01209feaf52368b46d0 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -129,10 +129,16 @@ void open_logbuffer(void) {
             return;
         }
 
+#if defined(__OpenBSD__) || defined(__APPLE__)
         if (ftruncate(logbuffer_shm, logbuffer_size) == -1) {
+            fprintf(stderr, "Could not ftruncate SHM segment for the i3 log: %s\n", strerror(errno));
+#else
+        int ret;
+        if ((ret = posix_fallocate(logbuffer_shm, 0, logbuffer_size)) != 0) {
+            fprintf(stderr, "Could not ftruncate SHM segment for the i3 log: %s\n", strerror(ret));
+#endif
             close(logbuffer_shm);
             shm_unlink(shmlogname);
-            fprintf(stderr, "Could not ftruncate SHM segment for the i3 log: %s\n", strerror(errno));
             return;
         }
 
@@ -180,6 +186,14 @@ void set_verbosity(bool _verbose) {
     verbose = _verbose;
 }
 
+/*
+ * Get debug logging.
+ *
+ */
+bool get_debug_logging(void) {
+    return debug_logging;
+}
+
 /*
  * Set debug logging.
  *