mirror of
https://git.freebsd.org/ports.git
synced 2025-06-20 04:00:41 -04:00
http://www.gnome.org/start/2.14/ for the official release notes, and a list of all the gooides in this new release. In particular, GNOME 2.14 focused on performance, and they did not miss the mark. There's some new eye candy, but most of the big things are waiting until GNOME 2.16. On the FreeBSD side, we tried to clean up all the crashers we could. In particular, we really improved GNOME's 64-bit support. The good news is that this release does not bring any big shared library version bumps, so you can almost do a simple portupgrade to get to 2.14. There are a few minor gotchas that will be documented in UPDATING shortly. The FreeBSD GNOME Team would like th thank the following users for their patches, feedback, and sometimes incessant complaing about crashes (you know who you are). Yasuda Keisuke <kysd@po.harenet.ne.jp> Pascal Hofstee <caelian@gmail.com> rmgls@wanadoo.fr tmclaugh Yuri Pankov <yuri.pankov@gmail.com> sajd on #freebsd-gnome ade ankon on #FreeBSD-Gnome mux Pascal Hofstee <caelian@gmail.com> QuiRK on #freebsd-gnome Vladimir Timofeev <vovkasm@gmail.com>
53 lines
1.8 KiB
C
53 lines
1.8 KiB
C
--- libedataserver/e-msgport.c.orig Sat Dec 10 07:31:28 2005
|
|
+++ libedataserver/e-msgport.c Mon Dec 19 02:19:10 2005
|
|
@@ -1069,9 +1069,18 @@ thread_dispatch(void *din)
|
|
void e_thread_put(EThread *e, EMsg *msg)
|
|
{
|
|
pthread_t id;
|
|
+ pthread_attr_t attr;
|
|
EMsg *dmsg = NULL;
|
|
|
|
pthread_mutex_lock(&e->mutex);
|
|
+ pthread_attr_init(&attr);
|
|
+ /* Give us a 1 MB thread stacksize on 32-bit architectures, and
|
|
+ * a 2 MB thread stacksize on 64-bit architectures. */
|
|
+ if (sizeof (void *) == 8) {
|
|
+ pthread_attr_setstacksize(&attr, 0x200000);
|
|
+ } else {
|
|
+ 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) {
|
|
@@ -1110,13 +1119,14 @@ void e_thread_put(EThread *e, EMsg *msg)
|
|
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 %" G_GUINT64_FORMAT "\n", e_util_pthread_id(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;
|
|
}
|
|
@@ -1125,13 +1135,14 @@ void e_thread_put(EThread *e, EMsg *msg)
|
|
if (!e->have_thread) {
|
|
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));
|
|
} else {
|
|
e->have_thread = TRUE;
|
|
}
|
|
}
|
|
|
|
+ pthread_attr_destroy(&attr);
|
|
pthread_mutex_unlock(&e->mutex);
|
|
|
|
if (dmsg) {
|