New signals handled: SIGTERM and SIGHUP (received when terminal is closed): clean WeeChat quit (send quit to irc servers then quit WeeChat)
This commit is contained in:
parent
50b371da7e
commit
bd4d543d50
@ -1,10 +1,12 @@
|
|||||||
WeeChat - Wee Enhanced Environment for Chat
|
WeeChat - Wee Enhanced Environment for Chat
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
ChangeLog - 2006-09-02
|
ChangeLog - 2006-09-08
|
||||||
|
|
||||||
|
|
||||||
Version 0.2.1 (under dev!):
|
Version 0.2.1 (under dev!):
|
||||||
|
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed):
|
||||||
|
clean WeeChat quit (send quit to irc servers then quit WeeChat)
|
||||||
* added some new default key bindings for existing keys (for some OS)
|
* added some new default key bindings for existing keys (for some OS)
|
||||||
* command /key now ok with one arg (key name): display key if found
|
* command /key now ok with one arg (key name): display key if found
|
||||||
* fixed bug with CTCP VERSION sent on channels (bug #17547)
|
* fixed bug with CTCP VERSION sent on channels (bug #17547)
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "../../common/utf8.h"
|
#include "../../common/utf8.h"
|
||||||
#include "../../common/util.h"
|
#include "../../common/util.h"
|
||||||
#include "../../common/weeconfig.h"
|
#include "../../common/weeconfig.h"
|
||||||
|
#include "../../irc/irc.h"
|
||||||
#include "gui-curses.h"
|
#include "gui-curses.h"
|
||||||
|
|
||||||
#ifdef PLUGINS
|
#ifdef PLUGINS
|
||||||
@ -43,6 +44,20 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
int send_irc_quit = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* gui_main_quit: quit weechat (signal received)
|
||||||
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
gui_main_quit ()
|
||||||
|
{
|
||||||
|
quit_weechat = 1;
|
||||||
|
send_irc_quit = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* gui_main_loop: main loop for WeeChat with ncurses GUI
|
* gui_main_loop: main loop for WeeChat with ncurses GUI
|
||||||
*/
|
*/
|
||||||
@ -61,6 +76,7 @@ gui_main_loop ()
|
|||||||
struct tm *local_time;
|
struct tm *local_time;
|
||||||
|
|
||||||
quit_weechat = 0;
|
quit_weechat = 0;
|
||||||
|
send_irc_quit = 0;
|
||||||
|
|
||||||
new_time = time (NULL);
|
new_time = time (NULL);
|
||||||
gui_last_activity_time = new_time;
|
gui_last_activity_time = new_time;
|
||||||
@ -70,6 +86,11 @@ gui_main_loop ()
|
|||||||
old_min = -1;
|
old_min = -1;
|
||||||
old_sec = -1;
|
old_sec = -1;
|
||||||
check_away = 0;
|
check_away = 0;
|
||||||
|
|
||||||
|
/* if SIGTERM or SIGHUP received => quit */
|
||||||
|
signal (SIGTERM, gui_main_quit);
|
||||||
|
signal (SIGHUP, gui_main_quit);
|
||||||
|
|
||||||
while (!quit_weechat)
|
while (!quit_weechat)
|
||||||
{
|
{
|
||||||
/* refresh needed ? */
|
/* refresh needed ? */
|
||||||
@ -261,6 +282,8 @@ gui_main_loop ()
|
|||||||
/* manages active DCC */
|
/* manages active DCC */
|
||||||
dcc_handle ();
|
dcc_handle ();
|
||||||
}
|
}
|
||||||
|
if (send_irc_quit)
|
||||||
|
irc_cmd_send_quit (NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
WeeChat - Wee Enhanced Environment for Chat
|
WeeChat - Wee Enhanced Environment for Chat
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
ChangeLog - 2006-09-02
|
ChangeLog - 2006-09-08
|
||||||
|
|
||||||
|
|
||||||
Version 0.2.1 (under dev!):
|
Version 0.2.1 (under dev!):
|
||||||
|
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed):
|
||||||
|
clean WeeChat quit (send quit to irc servers then quit WeeChat)
|
||||||
* added some new default key bindings for existing keys (for some OS)
|
* added some new default key bindings for existing keys (for some OS)
|
||||||
* command /key now ok with one arg (key name): display key if found
|
* command /key now ok with one arg (key name): display key if found
|
||||||
* fixed bug with CTCP VERSION sent on channels (bug #17547)
|
* fixed bug with CTCP VERSION sent on channels (bug #17547)
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
#include "../../common/utf8.h"
|
#include "../../common/utf8.h"
|
||||||
#include "../../common/util.h"
|
#include "../../common/util.h"
|
||||||
#include "../../common/weeconfig.h"
|
#include "../../common/weeconfig.h"
|
||||||
|
#include "../../irc/irc.h"
|
||||||
#include "gui-curses.h"
|
#include "gui-curses.h"
|
||||||
|
|
||||||
#ifdef PLUGINS
|
#ifdef PLUGINS
|
||||||
@ -43,6 +44,20 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
int send_irc_quit = 0;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* gui_main_quit: quit weechat (signal received)
|
||||||
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
gui_main_quit ()
|
||||||
|
{
|
||||||
|
quit_weechat = 1;
|
||||||
|
send_irc_quit = 1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* gui_main_loop: main loop for WeeChat with ncurses GUI
|
* gui_main_loop: main loop for WeeChat with ncurses GUI
|
||||||
*/
|
*/
|
||||||
@ -61,6 +76,7 @@ gui_main_loop ()
|
|||||||
struct tm *local_time;
|
struct tm *local_time;
|
||||||
|
|
||||||
quit_weechat = 0;
|
quit_weechat = 0;
|
||||||
|
send_irc_quit = 0;
|
||||||
|
|
||||||
new_time = time (NULL);
|
new_time = time (NULL);
|
||||||
gui_last_activity_time = new_time;
|
gui_last_activity_time = new_time;
|
||||||
@ -70,6 +86,11 @@ gui_main_loop ()
|
|||||||
old_min = -1;
|
old_min = -1;
|
||||||
old_sec = -1;
|
old_sec = -1;
|
||||||
check_away = 0;
|
check_away = 0;
|
||||||
|
|
||||||
|
/* if SIGTERM or SIGHUP received => quit */
|
||||||
|
signal (SIGTERM, gui_main_quit);
|
||||||
|
signal (SIGHUP, gui_main_quit);
|
||||||
|
|
||||||
while (!quit_weechat)
|
while (!quit_weechat)
|
||||||
{
|
{
|
||||||
/* refresh needed ? */
|
/* refresh needed ? */
|
||||||
@ -261,6 +282,8 @@ gui_main_loop ()
|
|||||||
/* manages active DCC */
|
/* manages active DCC */
|
||||||
dcc_handle ();
|
dcc_handle ();
|
||||||
}
|
}
|
||||||
|
if (send_irc_quit)
|
||||||
|
irc_cmd_send_quit (NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user