mirror of
https://github.com/clearlinux/uwsgi.git
synced 2026-09-08 06:31:58 +00:00
check for procname
This commit is contained in:
@@ -3190,6 +3190,7 @@ void uwsgi_apply_config_pass(char symbol, char*(*hook)(char *) ) {
|
||||
|
||||
void uwsgi_set_processname(char *name) {
|
||||
|
||||
#if defined(__linux__) || defined(__sun__)
|
||||
char *pos = uwsgi.orig_argv[0];
|
||||
size_t amount = 0;
|
||||
|
||||
@@ -3213,18 +3214,21 @@ void uwsgi_set_processname(char *name) {
|
||||
}
|
||||
|
||||
memset(pos, ' ', uwsgi.max_procname-amount);
|
||||
#endif
|
||||
}
|
||||
|
||||
// this is a wrapper for fork restoring original argv
|
||||
pid_t uwsgi_fork(char *name) {
|
||||
|
||||
int i;
|
||||
|
||||
pid_t pid = fork();
|
||||
if (pid == 0) {
|
||||
#if defined(__linux__) || defined(__sun__)
|
||||
int i;
|
||||
for(i=0;i<uwsgi.argc;i++) {
|
||||
strcpy(uwsgi.orig_argv[i],uwsgi.argv[i]);
|
||||
}
|
||||
#endif
|
||||
if (uwsgi.auto_procname && name) {
|
||||
uwsgi_set_processname(name);
|
||||
}
|
||||
|
||||
@@ -852,12 +852,18 @@ void signal_pidfile(int sig, char *filename) {
|
||||
|
||||
void fixup_argv_and_environ(int argc, char **argv, char **environ) {
|
||||
|
||||
|
||||
uwsgi.orig_argv = argv;
|
||||
uwsgi.argv = argv;
|
||||
uwsgi.argc = argc;
|
||||
uwsgi.environ = environ;
|
||||
|
||||
#if defined(__linux__) || defined(__sun__)
|
||||
|
||||
int i;
|
||||
int env_count = 0;
|
||||
|
||||
uwsgi.orig_argv = argv;
|
||||
uwsgi.argv = uwsgi_malloc( sizeof(char *) * argc);
|
||||
uwsgi.argc = argc;
|
||||
|
||||
for(i=0;i<argc;i++) {
|
||||
if (i==0 || argv[0] + uwsgi.max_procname + 1 == argv[i]) {
|
||||
@@ -880,6 +886,8 @@ void fixup_argv_and_environ(int argc, char **argv, char **environ) {
|
||||
uwsgi_log("max space for custom process name = %d\n", uwsgi.max_procname);
|
||||
#endif
|
||||
environ = uwsgi.environ;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef UWSGI_AS_SHARED_LIBRARY
|
||||
|
||||
Reference in New Issue
Block a user