From e5c3875cb23a33a8fe932d6f2ea6496a4401d0c0 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 5 Mar 2013 15:54:44 +0100 Subject: [PATCH] lib: Add prctl_set_comment to utils. Reviewed-by: David Disseldorp (cherry picked from commit f9fb3faaef4c15b7c4c3748b0e93fa3061b573c3) Conflicts: lib/util/wscript_build --- lib/util/util_process.c | 34 ++++++++++++++++++++++++++++++++++ lib/util/util_process.h | 35 +++++++++++++++++++++++++++++++++++ lib/util/wscript_build | 3 ++- source3/Makefile.in | 2 +- 4 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 lib/util/util_process.c create mode 100644 lib/util/util_process.h diff --git a/lib/util/util_process.c b/lib/util/util_process.c new file mode 100644 index 00000000000..6036e27c124 --- /dev/null +++ b/lib/util/util_process.c @@ -0,0 +1,34 @@ +/* + * Unix SMB/CIFS implementation. + * + * Process utils. + * + * Copyright (c) 2013 Andreas Schneider + * + * 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 . + */ + +#include "util_process.h" + +#ifdef HAVE_SYS_PRCTL_H +#include +#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 00000000000..6e1ef07f186 --- /dev/null +++ b/lib/util/util_process.h @@ -0,0 +1,35 @@ +/* + * Unix SMB/CIFS implementation. + * + * Process utils. + * + * Copyright (c) 2013 Andreas Schneider + * + * 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 . + */ + +#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 ddaf90ffc28..27c9ec7dcd2 100755 --- a/lib/util/wscript_build +++ b/lib/util/wscript_build @@ -7,7 +7,8 @@ bld.SAMBA_LIBRARY('samba-util', signal.c system.c params.c util.c util_id.c util_net.c 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''', + server_id.c dprintf.c parmlist.c bitmap.c pidfile.c + util_process.c''', deps='DYNCONFIG', public_deps='talloc 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 c7c6250fa0a..fd6cdab5b8f 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -431,7 +431,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 \ -- 2.11.4.GIT