osaf/libs/core/common/daemon.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/osaf/libs/core/common/daemon.c b/osaf/libs/core/common/daemon.c --- a/osaf/libs/core/common/daemon.c +++ b/osaf/libs/core/common/daemon.c @@ -48,6 +48,8 @@ #include <sys/types.h> #include <time.h> +#include <sys/prctl.h> + #define DEFAULT_RUNAS_USERNAME "opensaf" static const char* internal_version_id_; @@ -206,6 +208,9 @@ static void __parse_options(int argc, ch void daemonize(int argc, char *argv[]) { +#ifndef RUNASROOT + static int (*plibc_prctl) (int option, ...) = NULL; +#endif pid_t pid, sid; struct sched_param param; char *thread_prio; @@ -349,6 +354,13 @@ void daemonize(int argc, char *argv[]) syslog(LOG_ERR, "setuid failed, uid=%d (%s)", pw->pw_uid, strerror(errno)); exit(EXIT_FAILURE); } + // Enable generating core files + plibc_prctl = dlsym(RTLD_DEFAULT, "prctl"); + if (plibc_prctl) { + if (plibc_prctl(PR_SET_DUMPABLE, 1) < 0) { + syslog(LOG_ERR, "prctl failed: %s", strerror(errno)); + } + } } else { syslog(LOG_ERR, "invalid user name %s", __runas_username); exit(EXIT_FAILURE); ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel