]> git.sesse.net Git - cubemap/blobdiff - util.cpp
Support setting TTL on outgoing UDP streams. Especially useful for multicast.
[cubemap] / util.cpp
index dadeb379cd6d4be0154d1de53de1ef6a7d551183..8f42a9882aa099c85825c3dde7efdbca51f6d36a 100644 (file)
--- a/util.cpp
+++ b/util.cpp
@@ -18,14 +18,16 @@ using namespace std;
 
 int make_tempfile(const std::string &contents)
 {
-       char filename[] = "/tmp/cubemap.XXXXXX";
-       int fd = open(filename, O_RDWR | O_TMPFILE, 0600);
+       int fd = open("/tmp", O_RDWR | O_TMPFILE, 0600);
        if (fd == -1) {
+               char filename[] = "/tmp/cubemap.XXXXXX";
+               mode_t old_umask = umask(077);
                fd = mkstemp(filename);
                if (fd == -1) {
                        log_perror("mkstemp");
                        return -1;
                }
+               umask(old_umask);
 
                if (unlink(filename) == -1) {
                        log_perror("unlink");