]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix setproctitle for osx and solaris.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 13 Aug 2015 14:01:40 +0000 (15:01 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 13 Aug 2015 14:01:40 +0000 (15:01 +0100)
src/libutil/util.c

index 6e7acdf55f9f34be6c9e8ca8b2a1e16a5e1fec7f..055b6b0ff27515a819fbb5ab7e66b0849e91eb13 100644 (file)
@@ -662,13 +662,29 @@ rspamd_pass_signal (GHashTable * workers, gint signo)
 
 #ifndef HAVE_SETPROCTITLE
 
+#if !defined(DARWIN) && !defined(SOLARIS) && !defined(__APPLE__)
 static gchar *title_buffer = 0;
 static size_t title_buffer_size = 0;
 static gchar *title_progname, *title_progname_full;
+#endif
 
 gint
 setproctitle (const gchar *fmt, ...)
 {
+#if defined(DARWIN) || defined(SOLARIS) || defined(__APPLE__)
+       GString *dest;
+       va_list ap;
+
+       dest = g_string_new ("");
+       va_start (ap, fmt);
+       rspamd_vprintf_gstring (dest, fmt, ap);
+       va_end (ap);
+
+       g_set_prgname (dest->str);
+       g_string_free (dest, TRUE);
+
+       return 0;
+#else
        if (!title_buffer || !title_buffer_size) {
                errno = ENOMEM;
                return -1;
@@ -711,6 +727,7 @@ setproctitle (const gchar *fmt, ...)
        memset (title_buffer + written, '\0', title_buffer_size - written);
 
        return 0;
+#endif
 }
 
 /*