mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-03 06:32:10 +01:00
Increase to 100. 16 was rather low. (g_private_new_win32_impl): Can't use
2006-03-02 Tor Lillqvist <tml@novell.com> * gthread-win32.c (G_PRIVATE_MAX): Increase to 100. 16 was rather low. (g_private_new_win32_impl): Can't use g_error() here as g_private_new() is called a few times by GLib internally before the messaging system that g_error() requires is ready. Thanks to Tim Janik for noticing. Just display a MessageBox() and abort() instead.
This commit is contained in:
parent
5a2950d041
commit
e94abca52d
@ -1,3 +1,13 @@
|
||||
2006-03-02 Tor Lillqvist <tml@novell.com>
|
||||
|
||||
* gthread-win32.c (G_PRIVATE_MAX): Increase to 100. 16 was rather
|
||||
low.
|
||||
(g_private_new_win32_impl): Can't use g_error() here as
|
||||
g_private_new() is called a few times by GLib internally before
|
||||
the messaging system that g_error() requires is ready. Thanks to
|
||||
Tim Janik for noticing. Just display a MessageBox() and abort()
|
||||
instead.
|
||||
|
||||
2006-02-24 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.0 ===
|
||||
|
@ -44,6 +44,7 @@
|
||||
|
||||
#include <process.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define win32_check_for_error(what) G_STMT_START{ \
|
||||
if (!(what)) \
|
||||
@ -70,7 +71,7 @@ static GTryEnterCriticalSectionFunc try_enter_critical_section = NULL;
|
||||
|
||||
/* As noted in the docs, GPrivate is a limited resource, here we take
|
||||
* a rather low maximum to save memory, use GStaticPrivate instead. */
|
||||
#define G_PRIVATE_MAX 16
|
||||
#define G_PRIVATE_MAX 100
|
||||
|
||||
static GDestroyNotify g_private_destructors[G_PRIVATE_MAX];
|
||||
|
||||
@ -322,8 +323,16 @@ g_private_new_win32_impl (GDestroyNotify destructor)
|
||||
GPrivate *result;
|
||||
EnterCriticalSection (&g_thread_global_spinlock);
|
||||
if (g_private_next >= G_PRIVATE_MAX)
|
||||
g_error ("Too many GPrivate allocated. Their number is limited to %d.\n"
|
||||
"Use GStaticPrivate instead.\n", G_PRIVATE_MAX);
|
||||
{
|
||||
char buf[100];
|
||||
sprintf (buf,
|
||||
"Too many GPrivate allocated. Their number is limited to %d.",
|
||||
G_PRIVATE_MAX);
|
||||
MessageBox (NULL, buf, NULL, MB_ICONERROR|MB_SETFOREGROUND);
|
||||
if (IsDebuggerPresent ())
|
||||
G_BREAKPOINT ();
|
||||
abort ();
|
||||
}
|
||||
g_private_destructors[g_private_next] = destructor;
|
||||
result = GUINT_TO_POINTER (g_private_next);
|
||||
g_private_next++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user