From f9fb3faaef4c15b7c4c3748b0e93fa3061b573c3 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 5 Mar 2013 15:54:44 +0100 Subject: lib: Add prctl_set_comment to utils. Reviewed-by: David Disseldorp --- lib/util/util_process.c | 34 ++++++++++++++++++++++++++++++++++ lib/util/util_process.h | 35 +++++++++++++++++++++++++++++++++++ lib/util/wscript_build | 2 +- 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 lib/util/util_process.c create mode 100644 lib/util/util_process.h (limited to 'lib/util') 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 + * + * 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 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 + * + * 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 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', -- cgit