Date: Fri, 17 Sep 2004 23:55:17 +0400 From: Vladimir Grebenschikov <vova@fbsd.ru> To: Joe Marcus Clarke <marcus@FreeBSD.org> Cc: gnome@FreeBSD.org Subject: Re: Got Evolution crashes? Message-ID: <1095450917.88662.1.camel@localhost> In-Reply-To: <4149C5C7.4050904@FreeBSD.org> References: <4149C5C7.4050904@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
=F7 =DE=D4, 16/09/2004 =D7 12:56 -0400, Joe Marcus Clarke =D0=C9=DB=C5=D4: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 >=20 > 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 >=20 > - -- > Joe Marcus Clarke > FreeBSD GNOME Team :: gnome@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 >=20 > iD8DBQFBScXHb2iPiv4Uz4cRAqygAJ9iUFcjBatNJ7fR7ojNS0QMDrqw5ACeKEp3 > Z0evgiQmezYUMERWEZgBPH0=3D > =3DmzlY > -----END PGP SIGNATURE----- > =D7=CC=CF=D6=C5=CE=C9=C5 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 =3D NULL; > =20 > pthread_mutex_lock(&e->mutex); > + /* Give us a 1 MB thread stack size. */ > + pthread_attr_setstacksize(&attr, 0x100000); > =20 > /* the caller forgot to tell us what to do, well, we can't do anything = can we */ > if (e->received =3D=3D NULL) { > @@ -962,13 +965,14 @@ > e_msgport_put(e->server_port, msg); > if (e->waiting =3D=3D 0 > && g_list_length(e->id_list) < e->queue_limit > - && pthread_create(&id, NULL, thread_dispatch, e) =3D=3D 0) { > + && pthread_create(&id, &attr, thread_dispatch, e) =3D=3D 0) { > struct _thread_info *info =3D g_malloc0(sizeof(*info)); > t(printf("created NEW thread %ld\n", id)); > info->id =3D id; > info->busy =3D TRUE; > e->id_list =3D g_list_append(e->id_list, info); > } > + pthread_attr_destroy(&attr); > pthread_mutex_unlock(&e->mutex); > return; > } > @@ -977,12 +981,13 @@ > if (e->id =3D=3D E_THREAD_NONE) { > int err; > =20 > - if ((err =3D pthread_create(&e->id, NULL, thread_dispatch, e)) !=3D 0)= { > + if ((err =3D pthread_create(&e->id, &attr, thread_dispatch, e)) !=3D 0= ) { > g_warning("Could not create dispatcher thread, message queued?: %s", = strerror(err)); > e->id =3D E_THREAD_NONE; > } > } > =20 > + pthread_attr_destroy(&attr); > pthread_mutex_unlock(&e->mutex); > =20 > if (dmsg) { > _______________________________________________ > freebsd-gnome@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-gnome > To unsubscribe, send any mail to "freebsd-gnome-unsubscribe@freebsd.org" --=20 Vladimir B. Grebenchikov vova@fbsd.ru
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1095450917.88662.1.camel>