Got Evolution crashes?
Vladimir Grebenschikov
vova at fbsd.ru
Sun Sep 19 10:50:26 PDT 2004
В чт, 16/09/2004 в 12:56 -0400, Joe Marcus Clarke пишет:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Anyone experiencing a crash in Evolution 2.0.0 (Evo 2.0.0 ONLY), please
> apply the attached patch, and rebuild, and let me know if the crashes go
> away.
Before patch it crashes only on single big mailbox.
After patch it crashed on every start not depending on mailboxes.
> Joe
>
> - --
> Joe Marcus Clarke
> FreeBSD GNOME Team :: gnome at FreeBSD.org
> FreeNode / #freebsd-gnome
> http://www.FreeBSD.org/gnome
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (Darwin)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFBScXHb2iPiv4Uz4cRAqygAJ9iUFcjBatNJ7fR7ojNS0QMDrqw5ACeKEp3
> Z0evgiQmezYUMERWEZgBPH0=
> =mzlY
> -----END PGP SIGNATURE-----
> вложение plain text document (patch-e-util_e-msgport.c)
> --- e-util/e-msgport.c.orig Thu Sep 16 12:48:05 2004
> +++ e-util/e-msgport.c Thu Sep 16 12:52:52 2004
> @@ -921,9 +921,12 @@
> void e_thread_put(EThread *e, EMsg *msg)
> {
> pthread_t id;
> + pthread_attr_t attr;
> EMsg *dmsg = NULL;
>
> pthread_mutex_lock(&e->mutex);
> + /* Give us a 1 MB thread stack size. */
> + pthread_attr_setstacksize(&attr, 0x100000);
>
> /* the caller forgot to tell us what to do, well, we can't do anything can we */
> if (e->received == NULL) {
> @@ -962,13 +965,14 @@
> e_msgport_put(e->server_port, msg);
> if (e->waiting == 0
> && g_list_length(e->id_list) < e->queue_limit
> - && pthread_create(&id, NULL, thread_dispatch, e) == 0) {
> + && pthread_create(&id, &attr, thread_dispatch, e) == 0) {
> struct _thread_info *info = g_malloc0(sizeof(*info));
> t(printf("created NEW thread %ld\n", id));
> info->id = id;
> info->busy = TRUE;
> e->id_list = g_list_append(e->id_list, info);
> }
> + pthread_attr_destroy(&attr);
> pthread_mutex_unlock(&e->mutex);
> return;
> }
> @@ -977,12 +981,13 @@
> if (e->id == E_THREAD_NONE) {
> int err;
>
> - if ((err = pthread_create(&e->id, NULL, thread_dispatch, e)) != 0) {
> + if ((err = pthread_create(&e->id, &attr, thread_dispatch, e)) != 0) {
> g_warning("Could not create dispatcher thread, message queued?: %s", strerror(err));
> e->id = E_THREAD_NONE;
> }
> }
>
> + pthread_attr_destroy(&attr);
> pthread_mutex_unlock(&e->mutex);
>
> if (dmsg) {
> _______________________________________________
> freebsd-gnome at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-gnome
> To unsubscribe, send any mail to "freebsd-gnome-unsubscribe at freebsd.org"
--
Vladimir B. Grebenchikov
vova at fbsd.ru
More information about the freebsd-gnome
mailing list