Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

Commit

Permalink
New header containing GTK_DEBUG-style debugging support for GLib.
Browse files Browse the repository at this point in the history
	* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
	support for GLib. Currently only the fatal_warnings debug option exists.

	* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
	for parsing G_MESSAGES_PREFIXED.
	(_g_debug_init): New one-shot function for parsing G_DEBUG.
	(g_log_write_prefix): Use g_log_msg_prefix_init().
	(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

	* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.


	* glib/Makefile.am (IGNORE_HFILES): Add gdebug.h.

	* glib/running.sgml: Document the G_DEBUG environment variable.

	* glib/tmpl/threads.sgml: Replace g_thread_wait() by
	g_thread_join() in two places.
  • Loading branch information
Matthias Clasen committed Feb 21, 2002
1 parent 470d428 commit 642897a
Show file tree
Hide file tree
Showing 15 changed files with 273 additions and 38 deletions.
13 changes: 13 additions & 0 deletions ChangeLog
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-0
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-10
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-12
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-2
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-4
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-6
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
13 changes: 13 additions & 0 deletions ChangeLog.pre-2-8
@@ -1,3 +1,16 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.

* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().

* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.

Wed Feb 20 22:35:42 2002 Owen Taylor <otaylor@redhat.com>

Fixes from Miroslaw Dobrzanski-Neumann (#71963)
Expand Down
9 changes: 9 additions & 0 deletions docs/reference/ChangeLog
@@ -1,3 +1,12 @@
2002-02-21 Matthias Clasen <maclas@gmx.de>

* glib/Makefile.am (IGNORE_HFILES): Add gdebug.h.

* glib/running.sgml: Document the G_DEBUG environment variable.

* glib/tmpl/threads.sgml: Replace g_thread_wait() by
g_thread_join() in two places.

2002-02-20 Sven Neumann <sven@gimp.org>

* gobject/gobject-sections.txt
Expand Down
3 changes: 2 additions & 1 deletion docs/reference/glib/Makefile.am
Expand Up @@ -34,7 +34,8 @@ IGNORE_HFILES= \
gunicomp.h \
gunidecomp.h \
gunichartables.h \
glibconfig-sysdefs.h
glibconfig-sysdefs.h \
gdebug.h

# Extra files to add when scanning
EXTRA_HFILES=
Expand Down
28 changes: 24 additions & 4 deletions docs/reference/glib/running.sgml
Expand Up @@ -38,7 +38,27 @@ variables like <envar>LANG</envar>, <envar>PATH</envar> or <envar>HOME</envar>.
<para>
A list of log levels for which messages should be prefixed by the
program name and PID of the application. The default is to prefix
everything except %G_LOG_LEVEL_MESSAGE and %G_LOG_LEVEL_INFO.
everything except <literal>G_LOG_LEVEL_MESSAGE</literal> and <literal>G_LOG_LEVEL_INFO</literal>.
</para>
</formalpara>

<formalpara>
<title><envar>G_DEBUG</envar></title>

<para>
If GLib has been configured with <option>--enable-debug=yes</option>,
this variable can be set to a list of debug options, which cause GLib
to print out different types of debugging information.
<variablelist>
<varlistentry>
<term>fatal_warnings</term>
<listitem><para>Causes GLib to abort the program at the first call
to <link linkend="g-warning">g_warning</link>(). This option is
special in that it doesn't require GLib to be configured with
debugging support.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</formalpara>

Expand All @@ -61,9 +81,9 @@ static volatile gulong g_trap_free_size;
static volatile gulong g_trap_realloc_size;
static volatile gulong g_trap_malloc_size;
</programlisting>
If set to a size > 0, <link linkend="g-free">g_free()</link>,
<link linkend="g-realloc">g_realloc()</link> and
<link linkend="g-malloc">g_malloc()</link> will be intercepted if the size
If set to a size > 0, <link linkend="g-free">g_free</link>(),
<link linkend="g-realloc">g_realloc</link>() and
<link linkend="g-malloc">g_malloc</link>() will be intercepted if the size
matches the size of the corresponding memory block. This will only work with
<literal>g_mem_set_vtable (glib_mem_profiler_table)</literal> upon startup
though, because memory profiling is required to match on the memory block sizes.
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/glib/tmpl/threads.sgml
Expand Up @@ -274,7 +274,7 @@ This function creates a new thread with the priority @priority.

<para>
If @joinable is %TRUE, you can wait for this threads termination
calling g_thread_wait(). Otherwise the thread will just disappear, when
calling g_thread_join(). Otherwise the thread will just disappear, when
ready.
</para>

Expand Down Expand Up @@ -304,7 +304,7 @@ platform, if @stack_size is 0.

<para>
If @joinable is %TRUE, you can wait for this threads termination
calling g_thread_wait(). Otherwise the thread will just disappear, when
calling g_thread_join(). Otherwise the thread will just disappear, when
ready. If @bound is %TRUE, this thread will be scheduled in the system
scope, otherwise the implementation is free to do scheduling in the
process scope. The first variant is more expensive resource-wise, but
Expand Down
3 changes: 2 additions & 1 deletion glib/Makefile.am
Expand Up @@ -81,7 +81,8 @@ libglib_1_3_la_SOURCES = \
gunicomp.h \
gunidecomp.h \
gunidecomp.c \
gutils.c
gutils.c \
gdebug.h

EXTRA_libglib_1_3_la_SOURCES = \
giounix.c \
Expand Down
63 changes: 63 additions & 0 deletions glib/gdebug.h
@@ -0,0 +1,63 @@
/* GLIB - Library of useful routines for C programming
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/

/*
* Modified by the GLib Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GLib Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/

#ifndef __G_DEBUG_H__
#define __G_DEBUG_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

typedef enum {
G_DEBUG_FATAL_WARNINGS = 1 << 0,
} GDebugFlag;


#ifdef G_ENABLE_DEBUG

#define G_NOTE(type, action) G_STMT_START { \
if (!_g_debug_initialized) \
{ _g_debug_init (); } \
if (_g_debug_flags & G_DEBUG_##type) \
{ action; }; } G_STMT_END

#else /* !G_ENABLE_DEBUG */

#define G_NOTE(type, action)

#endif /* G_ENABLE_DEBUG */

GLIB_VAR gboolean _g_debug_initialized;
GLIB_VAR guint _g_debug_flags;

void _g_debug_init ();

#ifdef __cplusplus
}
#endif /* __cplusplus */


#endif /* __G_DEBUG_H__ */

0 comments on commit 642897a

Please sign in to comment.