summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fe-common/core/fe-exec.c2
-rw-r--r--src/fe-common/core/fe-exec.h2
-rw-r--r--src/perl/ui/UI.xs10
3 files changed, 13 insertions, 1 deletions
diff --git a/src/fe-common/core/fe-exec.c b/src/fe-common/core/fe-exec.c
index b8aedefa..1bac8eb6 100644
--- a/src/fe-common/core/fe-exec.c
+++ b/src/fe-common/core/fe-exec.c
@@ -35,7 +35,7 @@
#include <signal.h>
#include <sys/wait.h>
-static GSList *processes;
+GSList *processes;
static int signal_exec_input;
static void exec_wi_destroy(EXEC_WI_REC *rec)
diff --git a/src/fe-common/core/fe-exec.h b/src/fe-common/core/fe-exec.h
index e82a4c7e..bebd1f82 100644
--- a/src/fe-common/core/fe-exec.h
+++ b/src/fe-common/core/fe-exec.h
@@ -40,6 +40,8 @@ struct PROCESS_REC {
unsigned int silent:1; /* don't print "process exited with level xx" */
};
+extern GSList *processes;
+
void fe_exec_init(void);
void fe_exec_deinit(void);
diff --git a/src/perl/ui/UI.xs b/src/perl/ui/UI.xs
index 04fce9fe..c3b69900 100644
--- a/src/perl/ui/UI.xs
+++ b/src/perl/ui/UI.xs
@@ -71,6 +71,16 @@ MODULE = Irssi::UI PACKAGE = Irssi::UI
PROTOTYPES: ENABLE
void
+processes()
+PREINIT:
+ GSList *tmp;
+PPCODE:
+ for (tmp = processes; tmp != NULL; tmp = tmp->next) {
+ XPUSHs(sv_2mortal(plain_bless(tmp->data, "Irssi::UI::Process")));
+ }
+
+
+void
init()
CODE:
if (initialized) return;