diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-10-16 15:58:21 -0700 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-10-16 15:58:21 -0700 | 
| commit | 3fc6c32bede01e02b2ac4541c952f37dbad511b3 (patch) | |
| tree | 45749ced477a300d402f779fa186eaab6ef8a794 | |
| parent | 9c9a29ceea6734175f9f7693ce86b3ba633f4f7b (diff) | |
Stop calling nogaim_init() on every incoming connection (unless we're
using libpurple). This was leaking memory and indirectly caused the bug
fixed by the previous revision.
| -rw-r--r-- | irc.c | 4 | ||||
| -rw-r--r-- | unix.c | 7 | 
2 files changed, 11 insertions, 0 deletions
| @@ -164,7 +164,11 @@ irc_t *irc_new( int fd )  	g_free( myhost );  	g_free( host ); +	/* libpurple doesn't like fork()s after initializing itself, so this +	   is the right moment to initialize it. */ +#ifdef WITH_PURPLE  	nogaim_init(); +#endif  	for( l = irc_plugins; l; l = l->next )  	{ @@ -73,6 +73,13 @@ int main( int argc, char *argv[] )  	b_main_init(); +	/* libpurple doesn't like fork()s after initializing itself, so if +	   we use it, do this init a little later (in case we're running in +	   ForkDaemon mode). */ +#ifndef WITH_PURPLE +	nogaim_init(); +#endif +	   	/* Ugly Note: libotr and gnutls both use libgcrypt. libgcrypt   	   has a process-global config state whose initialization happpens   	   twice if libotr and gnutls are used together. libotr installs custom | 
