]> git.sesse.net Git - cubemap/blobdiff - util.cpp
Fix infinite CPU usage on waitpid().
[cubemap] / util.cpp
index 8f42a9882aa099c85825c3dde7efdbca51f6d36a..10e469df90c0a97c435c1eb405adb6ee5d9b7f7b 100644 (file)
--- a/util.cpp
+++ b/util.cpp
@@ -16,9 +16,9 @@
 
 using namespace std;
 
-int make_tempfile(const std::string &contents)
+int make_tempfile(const string &contents)
 {
-       int fd = open("/tmp", O_RDWR | O_TMPFILE, 0600);
+       int fd = open("/tmp", O_RDWR | O_TMPFILE | O_CLOEXEC, 0600);
        if (fd == -1) {
                char filename[] = "/tmp/cubemap.XXXXXX";
                mode_t old_umask = umask(077);
@@ -52,14 +52,14 @@ int make_tempfile(const std::string &contents)
        return fd;
 }
 
-bool read_tempfile_and_close(int fd, std::string *contents)
+bool read_tempfile_and_close(int fd, string *contents)
 {
        bool ok = read_tempfile(fd, contents);
        safe_close(fd);  // Implicitly deletes the file.
        return ok;
 }
 
-bool read_tempfile(int fd, std::string *contents)
+bool read_tempfile(int fd, string *contents)
 {
        ssize_t ret, has_read;