]> git.sur5r.net Git - i3/i3/blobdiff - src/log.c
OpenBSD lacks posix_fallocate()
[i3/i3] / src / log.c
index 34e345322e994e57a07b70e2b0e084c6337b9803..7bd2e74e5494553e047ba01209feaf52368b46d0 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -129,11 +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(ret));
             return;
         }