summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2023-10-22 21:02:41 +0200
committerSébastien Helleu <flashcode@flashtux.org>2023-10-22 21:02:41 +0200
commit3cc400a9d60eba98cd4f62046664f927796fa6fd (patch)
tree908bcd0434a8ca8298d2db67da01c3eef0aad3a4
parentd6343020aafa86e6819d3d12aac46c4f009d65a0 (diff)
downloadweechat-3cc400a9d60eba98cd4f62046664f927796fa6fd.zip
core: add number of processes in command `/sys waitpid`
-rw-r--r--ChangeLog.adoc1
-rw-r--r--po/cs.po8
-rw-r--r--po/de.po8
-rw-r--r--po/es.po8
-rw-r--r--po/fr.po10
-rw-r--r--po/hu.po8
-rw-r--r--po/it.po8
-rw-r--r--po/ja.po8
-rw-r--r--po/pl.po8
-rw-r--r--po/pt.po8
-rw-r--r--po/pt_BR.po8
-rw-r--r--po/ru.po8
-rw-r--r--po/sr.po8
-rw-r--r--po/tr.po8
-rw-r--r--po/weechat.pot8
-rw-r--r--src/core/wee-command.c24
-rw-r--r--src/core/wee-sys.c7
-rw-r--r--src/core/wee-sys.h2
-rw-r--r--src/plugins/xfer/xfer-network.c2
19 files changed, 123 insertions, 27 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc
index a4865a1e5..71c02f5cb 100644
--- a/ChangeLog.adoc
+++ b/ChangeLog.adoc
@@ -15,6 +15,7 @@ For a list of important changes that require manual actions, please look at rele
New features::
+ * core: add number of processes in command `/sys waitpid`
* core, alias, trigger: allow wildcard in commands `/bar`, `/item`, `/proxy`, `/alias` and `/trigger` (issue #1956)
* irc: add option irc.look.ignore_tag_messages (issue #989)
diff --git a/po/cs.po b/po/cs.po
index dc681553d..9c0610918 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:09+0200\n"
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3114,6 +3114,9 @@ msgstr ""
msgid "system actions"
msgstr "seznam konfiguračních možností"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3137,6 +3140,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/de.po b/po/de.po
index 85091612d..d8bd79406 100644
--- a/po/de.po
+++ b/po/de.po
@@ -26,7 +26,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:09+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -3274,6 +3274,9 @@ msgstr ""
msgid "system actions"
msgstr "Systemaktionen"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3302,6 +3305,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
msgid "toggle value of a config option"
msgstr "den Wert einer Konfigurationsoption umschalten"
diff --git a/po/es.po b/po/es.po
index a13ed065b..7c5a85f04 100644
--- a/po/es.po
+++ b/po/es.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:09+0200\n"
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3217,6 +3217,9 @@ msgstr ""
msgid "system actions"
msgstr "lista de opciones"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3240,6 +3243,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/fr.po b/po/fr.po
index 81041fe83..a6a66bc92 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
-"PO-Revision-Date: 2023-10-20 13:09+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
+"PO-Revision-Date: 2023-10-20 21:02+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: fr\n"
@@ -3355,6 +3355,9 @@ msgstr ""
msgid "system actions"
msgstr "actions système"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr "get rlimit|rusage || suspend || waitpid <nombre>"
+
msgid "raw[get]: display system info"
msgstr "raw[get] : afficher des informations système"
@@ -3383,6 +3386,9 @@ msgstr ""
"raw[waitpid] : prendre connaissance des processus fils qui sont terminés "
"(pour éviter les processus \"zombies\")"
+msgid "number: number of processes to clean"
+msgstr "nombre : nombre de processus à nettoyer"
+
msgid "toggle value of a config option"
msgstr "basculer la valeur d'une option de configuration"
diff --git a/po/hu.po b/po/hu.po
index dfc174c24..a36e753bc 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:09+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -2974,6 +2974,9 @@ msgstr ""
msgid "system actions"
msgstr "konfigurációs paraméterek beállítása"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -2995,6 +2998,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
msgid "toggle value of a config option"
msgstr "Nem található az opció\n"
diff --git a/po/it.po b/po/it.po
index 1dd0e5a41..6e43ac0ab 100644
--- a/po/it.po
+++ b/po/it.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:10+0200\n"
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3107,6 +3107,9 @@ msgstr ""
msgid "system actions"
msgstr "elenco delle opzioni"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3133,6 +3136,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/ja.po b/po/ja.po
index f8f18b4f3..dace59d66 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:10+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
@@ -3215,6 +3215,9 @@ msgstr ""
msgid "system actions"
msgstr "fset オプション"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3241,6 +3244,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/pl.po b/po/pl.po
index 89f938932..2230abf42 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:10+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -3311,6 +3311,9 @@ msgstr ""
msgid "system actions"
msgstr "opcje fset"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3338,6 +3341,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
msgid "toggle value of a config option"
msgstr "przełącza wartość opcji konfiguracyjnej"
diff --git a/po/pt.po b/po/pt.po
index db299d514..68fd9d4d4 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:10+0200\n"
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
"Language-Team: Portuguese <>\n"
@@ -3217,6 +3217,9 @@ msgstr ""
msgid "system actions"
msgstr "lista de opções"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3243,6 +3246,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f7af79fe0..ec2d90976 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:11+0200\n"
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3136,6 +3136,9 @@ msgstr ""
msgid "system actions"
msgstr "lista de opções"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3159,6 +3162,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
#| msgid "values for a configuration option"
msgid "toggle value of a config option"
diff --git a/po/ru.po b/po/ru.po
index 212152f74..f56b09e87 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:11+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -2997,6 +2997,9 @@ msgstr ""
msgid "system actions"
msgstr "настроить параметры конфигурации"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3018,6 +3021,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
#, fuzzy
msgid "toggle value of a config option"
msgstr "Не найден параметр\n"
diff --git a/po/sr.po b/po/sr.po
index 57eea813a..569a87ad0 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:11+0200\n"
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3237,6 +3237,9 @@ msgstr ""
msgid "system actions"
msgstr "системске акције"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3265,6 +3268,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
msgid "toggle value of a config option"
msgstr "пребацује вредност опције конфигурације"
diff --git a/po/tr.po b/po/tr.po
index e8bc0159e..208416224 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2023-10-20 13:11+0200\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -3249,6 +3249,9 @@ msgstr ""
msgid "system actions"
msgstr "fset seçenekleri"
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -3276,6 +3279,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
msgid "toggle value of a config option"
msgstr "bir yapılandırma seçeneğinin değerini aç/kapat"
diff --git a/po/weechat.pot b/po/weechat.pot
index 9c066ad57..688f02ea9 100644
--- a/po/weechat.pot
+++ b/po/weechat.pot
@@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
-"POT-Creation-Date: 2023-10-20 11:17+0200\n"
+"POT-Creation-Date: 2023-10-20 21:02+0200\n"
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -2786,6 +2786,9 @@ msgstr ""
msgid "system actions"
msgstr ""
+msgid "get rlimit|rusage || suspend || waitpid <number>"
+msgstr ""
+
msgid "raw[get]: display system info"
msgstr ""
@@ -2807,6 +2810,9 @@ msgid ""
"\"zombie\" processes)"
msgstr ""
+msgid "number: number of processes to clean"
+msgstr ""
+
msgid "toggle value of a config option"
msgstr ""
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",
diff --git a/src/core/wee-sys.c b/src/core/wee-sys.c
index 7560b80aa..0a6fd8ec6 100644
--- a/src/core/wee-sys.c
+++ b/src/core/wee-sys.c
@@ -349,13 +349,16 @@ sys_display_rusage ()
*/
void
-sys_waitpid ()
+sys_waitpid (int number_processes)
{
int i;
+ if (number_processes < 1)
+ return;
+
/* acknowledge the end of up to 42 forked processes */
i = 0;
- while ((i < 42) && (waitpid (-1, NULL, WNOHANG) > 0))
+ while ((i < number_processes) && (waitpid (-1, NULL, WNOHANG) > 0))
{
i++;
}
diff --git a/src/core/wee-sys.h b/src/core/wee-sys.h
index eb4e7bcb9..d264d5f20 100644
--- a/src/core/wee-sys.h
+++ b/src/core/wee-sys.h
@@ -31,6 +31,6 @@ struct t_rlimit_resource
extern void sys_setrlimit ();
extern void sys_display_rlimit ();
extern void sys_display_rusage ();
-extern void sys_waitpid ();
+extern void sys_waitpid (int number_processes);
#endif /* WEECHAT_SYS_H */
diff --git a/src/plugins/xfer/xfer-network.c b/src/plugins/xfer/xfer-network.c
index 3c7b63338..9eeabf904 100644
--- a/src/plugins/xfer/xfer-network.c
+++ b/src/plugins/xfer/xfer-network.c
@@ -484,7 +484,7 @@ xfer_network_child_kill (struct t_xfer *xfer)
{
kill (xfer->child_pid, SIGKILL);
weechat_command (weechat_buffer_search_main (),
- "/mute /wait 100ms /sys waitpid");
+ "/mute /wait 100ms /sys waitpid 10");
xfer->child_pid = 0;
}