summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/util/util_process.c34
-rw-r--r--lib/util/util_process.h35
-rwxr-xr-xlib/util/wscript_build2
-rw-r--r--source3/Makefile.in2
4 files changed, 71 insertions, 2 deletions
diff --git a/lib/util/util_process.c b/lib/util/util_process.c
new file mode 100644
index 0000000000..6036e27c12
--- /dev/null
+++ b/lib/util/util_process.c
@@ -0,0 +1,34 @@
+/*
+ * Unix SMB/CIFS implementation.
+ *
+ * Process utils.
+ *
+ * Copyright (c) 2013 Andreas Schneider <asn@samba.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "util_process.h"
+
+#ifdef HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#endif
+
+int prctl_set_comment(const char *comment)
+{
+#if defined(HAVE_PRCTL) && defined(PR_SET_NAME)
+ return prctl(PR_SET_NAME, (unsigned long) comment, 0, 0, 0);
+#endif
+ return 0;
+}
diff --git a/lib/util/util_process.h b/lib/util/util_process.h
new file mode 100644
index 0000000000..6e1ef07f18
--- /dev/null
+++ b/lib/util/util_process.h
@@ -0,0 +1,35 @@
+/*
+ * Unix SMB/CIFS implementation.
+ *
+ * Process utils.
+ *
+ * Copyright (c) 2013 Andreas Schneider <asn@samba.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _SAMBA_UTIL_PROCESS_H
+#define _SAMBA_UTIL_PROCESS_H
+
+/**
+ * @brief Set the process comment name.
+ *
+ * @param[in] comment The comment to set which shouldn't be longer than 16
+ * 16 characters (including \0).
+ *
+ * @return -1 on error, 0 on success.
+ */
+int prctl_set_comment(const char *comment);
+
+#endif
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index ac270ee486..39a16135ef 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -8,7 +8,7 @@ bld.SAMBA_LIBRARY('samba-util',
util_strlist.c util_paths.c idtree.c debug.c fault.c base64.c
util_str.c util_str_common.c substitute.c ms_fnmatch.c
server_id.c dprintf.c parmlist.c bitmap.c pidfile.c
- tevent_debug.c''',
+ tevent_debug.c util_process.c''',
deps='DYNCONFIG',
public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid',
public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h',
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 90f12b741d..4b6918a838 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -430,7 +430,7 @@ UTIL_OBJ = ../lib/util/rbtree.o ../lib/util/signal.o ../lib/util/time.o \
../lib/util/genrand.o ../lib/util/util_net.o \
../lib/util/become_daemon.o ../lib/util/system.o \
../lib/util/tevent_unix.o ../lib/util/tevent_ntstatus.o \
- ../lib/util/tevent_werror.o \
+ ../lib/util/tevent_werror.o ../lib/util/util_process.o\
lib/tevent_barrier.o \
../lib/util/smb_threads.o ../lib/util/util_id.o \
../lib/util/blocking.o ../lib/util/rfc1738.o \