summaryrefslogtreecommitdiff
path: root/src/core/wee-command.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/wee-command.c')
-rw-r--r--src/core/wee-command.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/core/wee-command.c b/src/core/wee-command.c
index b777f6b51..f15390afa 100644
--- a/src/core/wee-command.c
+++ b/src/core/wee-command.c
@@ -6723,6 +6723,9 @@ COMMAND_CALLBACK(set)
COMMAND_CALLBACK(sys)
{
+ long value;
+ char *error;
+
/* make C compiler happy */
(void) pointer;
(void) data;
@@ -6732,8 +6735,7 @@ COMMAND_CALLBACK(sys)
if (string_strcmp (argv[1], "get") == 0)
{
- COMMAND_MIN_ARGS(2, "get");
-
+ COMMAND_MIN_ARGS(3, "get");
if (string_strcmp (argv[2], "rlimit") == 0)
sys_display_rlimit ();
else if (string_strcmp (argv[2], "rusage") == 0)
@@ -6751,7 +6753,12 @@ COMMAND_CALLBACK(sys)
if (string_strcmp (argv[1], "waitpid") == 0)
{
- sys_waitpid ();
+ COMMAND_MIN_ARGS(3, "waitpid");
+ error = NULL;
+ value = strtol (argv[2], &error, 10);
+ if (!error || error[0])
+ COMMAND_ERROR;
+ sys_waitpid ((int)value);
return WEECHAT_RC_OK;
}
@@ -9094,9 +9101,9 @@ command_init ()
hook_command (
NULL, "sys",
N_("system actions"),
- "get rlimit|rusage"
- " || suspend"
- " || waitpid",
+ N_("get rlimit|rusage"
+ " || suspend"
+ " || waitpid <number>"),
CMD_ARGS_DESC(
N_("raw[get]: display system info"),
N_("raw[rlimit]: display resource limits "
@@ -9105,10 +9112,11 @@ command_init ()
N_("raw[suspend]: suspend WeeChat and go back to the shell, by sending "
"signal SIGTSTP to the WeeChat process") ,
N_("raw[waitpid]: acknowledge the end of children processes "
- "(to prevent \"zombie\" processes)")),
+ "(to prevent \"zombie\" processes)"),
+ N_("number: number of processes to clean")),
"get rlimit|rusage"
" || suspend"
- " || waitpid",
+ " || waitpid 1|10|100|1000",
&command_sys, NULL, NULL);
hook_command (
NULL, "toggle",