Re: [Evolution-hackers] Is this a locking bug?
- From: Jeffrey Stedfast <fejj ximian com>
- To: Zan Lynx <zlynx acm org>
- Cc: evolution-hackers ximian com
- Subject: Re: [Evolution-hackers] Is this a locking bug?
- Date: Mon, 29 Dec 2003 20:43:36 -0500
uh... if G_THREADS_ENABLED isn't enabled, then you have a lot more
problems than that. I'm surprised evo works at all without gthread
support.
I suggest you make sure your glib install supports threads. this is not
the right fix.
Jeff
On Mon, 2003-12-29 at 02:18, Zan Lynx wrote:
> I think I found a locking bug in e-util/e-memory.c. This bug, if it is
> this bug, has been crashing Evolution on me several times a day when
> running on a SMP system. I patched it, and Evolution hasn't crashed
> yet, so I'm posting it.
>
> I'm not sure if the lock needs to include the e_mempool_flush or not. I
> just tried to follow the locking in e_mempool_new.
>
> This is Evolution 1.4.5, compiled on Gentoo.
>
> Here is the patch:
> --- /tmp/e-memory.c 2003-12-29 00:07:18.691690575 -0700
> +++ e-util/e-memory.c 2003-12-28 22:05:51.000000000 -0700
> @@ -534,10 +534,16 @@
> **/
> void e_mempool_destroy(MemPool *pool)
> {
> +#ifdef G_THREADS_ENABLED
> + g_static_mutex_lock(&mempool_mutex);
> +#endif
> if (pool) {
> e_mempool_flush(pool, 1);
> e_memchunk_free(mempool_memchunk, pool);
> }
> +#ifdef G_THREADS_ENABLED
> + g_static_mutex_unlock(&mempool_mutex);
> +#endif
> }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]