exec: kill all processes using an exec buffer that is being closed
This commit is contained in:
parent
d055d4a2bd
commit
a470a1a890
@ -72,9 +72,24 @@ exec_buffer_input_cb (void *data, struct t_gui_buffer *buffer,
|
|||||||
int
|
int
|
||||||
exec_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
|
exec_buffer_close_cb (void *data, struct t_gui_buffer *buffer)
|
||||||
{
|
{
|
||||||
|
const char *full_name;
|
||||||
|
struct t_exec_cmd *ptr_exec_cmd;
|
||||||
|
|
||||||
/* make C compiler happy */
|
/* make C compiler happy */
|
||||||
(void) data;
|
(void) data;
|
||||||
(void) buffer;
|
|
||||||
|
/* kill any command whose output is on this buffer */
|
||||||
|
full_name = weechat_buffer_get_string (buffer, "full_name");
|
||||||
|
for (ptr_exec_cmd = exec_cmds; ptr_exec_cmd;
|
||||||
|
ptr_exec_cmd = ptr_exec_cmd->next_cmd)
|
||||||
|
{
|
||||||
|
if (ptr_exec_cmd->hook
|
||||||
|
&& ptr_exec_cmd->buffer_full_name
|
||||||
|
&& (strcmp (ptr_exec_cmd->buffer_full_name, full_name) == 0))
|
||||||
|
{
|
||||||
|
weechat_hook_set (ptr_exec_cmd->hook, "signal", "kill");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return WEECHAT_RC_OK;
|
return WEECHAT_RC_OK;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user