Age | Commit message (Collapse) | Author | Lines | |
---|---|---|---|---|
2018-06-13 | process.cc: don't allocate after fork | -0/+18 | ||
In multithreaded processes POSIX specifies that after fork only AS-safe functions may be called. [1] This fixes a race condition I observed in "cave generate-metadata" with musl libc. This does happen regularily with musl libc, but the general problem also affects glibc. (test [2] if you don't believe me - with glibc it happens more rarely and causes a deadlock inside of malloc locks instead of a crash). This does not fix these problems for as_main_process, as there never will be an exec in the child process that way, which makes it impossible to do safely this way. [1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html [2]: https://shadowice.org/~mixi/examples/never-fork-and-malloc-in-multiple-threads.c | ||||
2015-05-02 | Make stream conversions explicit for gtest | -2/+2 | ||
Change-Id: I74b0915cdfb11ff6f42151ba5ac2452b8e9a4052 | ||||
2011-03-20 | gtest more | -347/+226 | ||
2010-12-10 | Do our own buffering for SafeOFStream | -1/+1 | ||
2010-10-16 | Don't assume sh is anything useful | -9/+9 | ||
2010-08-24 | FSEntry -> FSPath, FSStat | -2/+2 | ||
Fixes: ticket:967 | ||||
2010-08-21 | Process::send_input_to_fd | -0/+36 | ||
2010-08-21 | ProcessCommand(string) | -0/+15 | ||
2010-08-21 | Process::clearenv | -0/+17 | ||
2010-08-21 | Process::prefix_std{out,err} | -0/+32 | ||
2010-08-21 | Process::pipe_command_handler | -0/+56 | ||
2010-08-21 | Process::set_stdin_fd | -0/+31 | ||
2010-08-21 | Process::capture_output_to_fd | -0/+30 | ||
2010-08-21 | Process::setuid_setgid | -1/+25 | ||
2010-08-21 | Process::use_ptys | -0/+30 | ||
2010-08-21 | Process::chdir | -0/+17 | ||
2010-08-21 | Process::setenv | -0/+16 | ||
2010-08-21 | New, less horrible way of running processes | -0/+149 | ||