X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=main.cpp;h=18976fc833b6d49a981af6fc67e79fe1efa64469;hb=6d34c5b6d8e5bec5d1421eadc103f38d206f34f1;hp=737f0c3573acea88fa7d9f0585aee69d95ec0838;hpb=d34b94a858c08d64eddfb9c115719fd9129be933;p=cubemap diff --git a/main.cpp b/main.cpp index 737f0c3..18976fc 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -661,6 +662,10 @@ start: char buf[16]; sprintf(buf, "%d", state_fd); + // Unset the close-on-exec flag for the state fd. + // (This can't leak into a child, since there's only one thread left.) + fcntl(state_fd, F_SETFD, 0); + for ( ;; ) { execlp(argv0_canon, argv0_canon, config_filename_canon, "--state", buf, nullptr); open_logs(config.log_destinations);