chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
event: implement quit handlers
[elogind.git]
/
src
/
core
/
main.c
diff --git
a/src/core/main.c
b/src/core/main.c
index 0178f107200a300e7f38199204f2f39c5d61a00d..fe291f8410e0822c6580b1251e61884a8731a19b 100644
(file)
--- a/
src/core/main.c
+++ b/
src/core/main.c
@@
-1265,6
+1265,10
@@
int main(int argc, char *argv[]) {
log_show_color(isatty(STDERR_FILENO) > 0);
log_show_color(isatty(STDERR_FILENO) > 0);
+ /* Disable the umask logic */
+ if (getpid() == 1)
+ umask(0);
+
if (getpid() == 1 && detect_container(NULL) <= 0) {
/* Running outside of a container as PID 1 */
if (getpid() == 1 && detect_container(NULL) <= 0) {
/* Running outside of a container as PID 1 */
@@
-1438,14
+1442,10
@@
int main(int argc, char *argv[]) {
if (serialization)
assert_se(fdset_remove(fds, fileno(serialization)) >= 0);
if (serialization)
assert_se(fdset_remove(fds, fileno(serialization)) >= 0);
- if (arg_running_as == SYSTEMD_SYSTEM)
{
+ if (arg_running_as == SYSTEMD_SYSTEM)
/* Become a session leader if we aren't one yet. */
setsid();
/* Become a session leader if we aren't one yet. */
setsid();
- /* Disable the umask logic */
- umask(0);
- }
-
/* Move out of the way, so that we won't block unmounts */
assert_se(chdir("/") == 0);
/* Move out of the way, so that we won't block unmounts */
assert_se(chdir("/") == 0);
@@
-1509,14
+1509,14
@@
int main(int argc, char *argv[]) {
log_error("Failed to adjust timer slack: %m");
if (arg_capability_bounding_set_drop) {
log_error("Failed to adjust timer slack: %m");
if (arg_capability_bounding_set_drop) {
- r = capability_bounding_set_drop
(arg_capability_bounding_set_drop, true
);
+ r = capability_bounding_set_drop
_usermode(arg_capability_bounding_set_drop
);
if (r < 0) {
if (r < 0) {
- log_error("Failed to drop capability bounding set: %s", strerror(-r));
+ log_error("Failed to drop capability bounding set
of usermode helpers
: %s", strerror(-r));
goto finish;
}
goto finish;
}
- r = capability_bounding_set_drop
_usermode(arg_capability_bounding_set_drop
);
+ r = capability_bounding_set_drop
(arg_capability_bounding_set_drop, true
);
if (r < 0) {
if (r < 0) {
- log_error("Failed to drop capability bounding set
of usermode helpers
: %s", strerror(-r));
+ log_error("Failed to drop capability bounding set: %s", strerror(-r));
goto finish;
}
}
goto finish;
}
}
@@
-1567,6
+1567,7
@@
int main(int argc, char *argv[]) {
/* This will close all file descriptors that were opened, but
* not claimed by any unit. */
fdset_free(fds);
/* This will close all file descriptors that were opened, but
* not claimed by any unit. */
fdset_free(fds);
+ fds = NULL;
if (serialization) {
fclose(serialization);
if (serialization) {
fclose(serialization);