Merge lp://staging/~jamesodhunt/upstart/bug-1302117 into lp://staging/upstart
Proposed by
James Hunt
Status: | Rejected |
---|---|
Rejected by: | James Hunt |
Proposed branch: | lp://staging/~jamesodhunt/upstart/bug-1302117 |
Merge into: | lp://staging/upstart |
Diff against target: | 0 lines |
To merge this branch: | bzr merge lp://staging/~jamesodhunt/upstart/bug-1302117 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Dimitri John Ledkov (community) | Needs Fixing | ||
Review via email: mp+215173@code.staging.launchpad.net |
Description of the change
Just prior to re-exec Upstart serialises all the internal objects. As a result, log_serialise() gets called for reach job process. If a job process has unflushed data, Upstart attempts to persist it prior to the re-exec. However, the entails calling log_file_open() *in the parent*, which was setting the umask to ensure the log file is created with a known permission.
The fix was to save the umask, set it, write the log file, then restore the umask.
Also, added a new test to avoid regression.
To post a comment you must log in.
Unmerged revisions
- 1615. By James Hunt
-
* Sync with lp:upstart.
Strangely this generates empty multi-line test.log for
TEST_FEATURE ("with exec call by process after fork");
But the test doesn't expect any output (all it execs is /bin/true)