Commit Graph

3363 Commits

Author SHA1 Message Date
Tim Janik
10a3867a6e test high contention on closure reference counts to trigger and catch
Mon Aug  1 23:33:47 2005  Tim Janik  <timj@imendio.com>

        * tests/refcount/closures.c: test high contention on closure
        reference counts to trigger and catch non-atomic updates.

        * tests/refcount/objects.c:
        * tests/refcount/objects2.c:
        * tests/refcount/properties.c:
        * tests/refcount/properties2.c:
        * tests/refcount/signals.c:
        fixed up test and threading fundamentals. variables accessed from all
        threads need to be volatile. context switches are enforced by using
        g_thread_yield(), not g_usleep(1) which may result in busy waits on
        some platforms. for testcode, always consider all warnings and
        critical messages fatal. issue the currently running program on
        stdout. improved progress indicators.

        * tests/refcount/properties.c:
        * tests/refcount/objects.c:
        don't overdo the number of testing threads to keep the testing machine
        usable, 2 threads can produce as much contention as 20 if executing the
        same code.

        * tests/refcount/signals.c: only start 1 thread per object. GObject
        doesn't provide mutually exclusive object access, but only mutually
        exclusive reference count modification.

        * tests/Makefile.am: added closures test.
2005-08-01 21:47:15 +00:00
Tim Janik
834ddd1920 turned all modifications to the first 32 integer bits in a closure into
Mon Aug  1 23:00:42 2005  Tim Janik  <timj@imendio.com>

        * gclosure.c: turned all modifications to the first 32 integer bits in a
        closure into atomic accesses. wrapped write accesses into special macros
        to keep the atomic modification logic in a single place. comment cleanups.

        * gclosure.h: made all atomicly accessed closure fields volatile.

        * gobject.h: made ref_count field volatile.
2005-08-01 21:17:50 +00:00
Tor Lillqvist
7787e71d8b Minor simplification in safe_strcmp_filename(). 2005-08-01 19:25:37 +00:00
Tor Lillqvist
7aa2e37f5e Ugh, fix braino. 2005-08-01 19:23:10 +00:00
Tor Lillqvist
d5a989875b Make it pass on Win32. (from_uri_tests[]): Take into consideration that on
2005-08-01  Tor Lillqvist  <tml@novell.com>

	* tests/uri-test.c: Make it pass on Win32.
	(from_uri_tests[]): Take into consideration that on Win32 we don't
	return "localhost" hostnames.
	(safe_strcmp_filename): New function that considers slash and
	backslash equal on Win32.
	(run_roundtrip_tests): Use safe_strcmp_filename().
2005-08-01 19:17:35 +00:00
Tim Janik
2d1cf6c139 moved G_DATALIST_*_POINTER() macros here, because proper use requires the
Sun Jul 31 01:50:20 2005  Tim Janik  <timj@gtk.org>

        * glib/gdataset.c:
        moved G_DATALIST_*_POINTER() macros here, because proper use requires
        the global g_dataset_global mutex to be acquired.
        g_datalist_id_get_data():
        g_datalist_unset_flags():
        g_datalist_set_flags(): properly acquire and release dataset mutex.

        * glib/gdatasetprivate.h: implement G_DATALIST_GET_FLAGS() via atomic
        pointer access to account for memory barriers. moved all other macros.
2005-07-31 00:05:39 +00:00
Tim Janik
4746cf2ce0 use g_datalist_set_flags() and g_datalist_unset_flags() to allow proper
Sun Jul 31 02:04:23 2005  Tim Janik  <timj@gtk.org>

        * gobject.c: use g_datalist_set_flags() and g_datalist_unset_flags() to
        allow proper locking around &qdata modifications.
2005-07-31 00:05:22 +00:00
Tim Janik
a49fda33d5 document non-thread-safety for _foreach() functions.
Sat Jul 30 23:40:35 2005  Tim Janik  <timj@gtk.org>

        * glib/tmpl/datalist.sgml:
        * glib/tmpl/datalset.sgml: document non-thread-safety for
        _foreach() functions.
2005-07-30 21:41:18 +00:00
Tim Janik
f0cfc267ba reverted notify_mutex introduction, since this prevents parallelized
Sat Jul 30 21:10:26 2005  Tim Janik  <timj@gtk.org>

        * gobject.c: reverted notify_mutex introduction, since this prevents
        parallelized setting of object properties on different objects, and
        serves no apparent purpose (to me at least).
        g_object_real_dispose(): removed non-atomic reference count
        modifications.
        g_object_unref(): make sure the closures array is destroyed when
        destroying signal handlers.

        * gparam.c: cosmetic changes.

        * gsignal.c: comment fixup. allow 16bit blocking count.

        * gsignal.c: reverted GClosure related changes.

        * gclosure.c: reverted premature commit of atomic reference
        counting attempt.
2005-07-30 19:46:11 +00:00
Ilkka Tuohela
84132e9298 Updated Finnish translation 2005-07-28 17:56:34 +00:00
Christian Neumair
a4c83e934b Fixed format specifiers. Thanks to Murray Cumming for pointing this out.
2005-07-27  Christian Neumair  <chris@gnome-de.org>

	* de.po: Fixed format specifiers. Thanks to Murray Cumming for
	pointing this out.
2005-07-27 12:16:37 +00:00
Matthias Clasen
5f70ee19f8 Include glibintl.h, not gi18n.h, noticed by Dan Winship.
2005-07-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c: Include glibintl.h, not gi18n.h, noticed
	by Dan Winship.
2005-07-26 19:41:05 +00:00
Matthias Clasen
ab033c6d1b Try -mt as compiler flag for threads, needed for the HP C compiler on
2005-07-26  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Try -mt as compiler flag for threads, needed
	for the HP C compiler on HP-UX.  (#163051, Paul Cornett)
2005-07-26 19:37:34 +00:00
Matthias Clasen
27096aedb5 Fix a typo in the docs. (#311569, Ross Burton)
2005-07-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/ghash.c (g_hash_table_foreach): Fix a typo in the
	docs.  (#311569, Ross Burton)
2005-07-26 15:49:15 +00:00
Hendrik Brandt
dd129201d7 Updated German translation.
2005-07-26  Hendrik Brandt  <heb@gnome-de.org>

        * de.po: Updated German translation.
2005-07-26 15:40:53 +00:00
Matthias Clasen
39560bf49f One more improvement.
2005-07-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/tmpl/arrays.sgml: One more improvement.
2005-07-26 15:37:22 +00:00
Artur Flinta
6b9b51a920 Updated Polish translation by GNOME PL Team.
2005-07-26  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2005-07-26 08:52:31 +00:00
Matthias Clasen
fd6d142f4f Add details 2005-07-26 02:38:26 +00:00
Matthias Clasen
1eb5f925c2 Call msgfmt with -c to catch format errors.
2005-07-25  Matthias Clasen  <mclasen@redhat.com>

	* Makefile.in.in: Call msgfmt with -c to catch
	format errors.
2005-07-25 14:17:30 +00:00
Ankitkumar Rameshchandra Patel
9218b66f71 Updated Translation 2005-07-25 08:44:19 +00:00
Baris Cicek
5b464f6ee0 Updated tr.po from Onur Can Cakmak 2005-07-24 20:58:50 +00:00
Chao-Hsiung Liao
626d57504b zh_TW.po Updated Traditional Chinese translation.
2005-07-22  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* zh_TW.po Updated Traditional Chinese translation.
2005-07-23 05:33:50 +00:00
Duarte Loreto
d1d8f50941 Updated Portuguese translation.
2005-07-22  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2005-07-22 20:48:28 +00:00
Matthias Clasen
8fca0ec9cf Bump version 2005-07-22 17:21:52 +00:00
Matthias Clasen
3c6e2da565 2.7.4 2005-07-22 17:02:04 +00:00
Matthias Clasen
6589b38f98 Updates 2005-07-21 19:27:00 +00:00
Nguyen Thai Ngoc Duy
a5dc90e553 Merged from gnome-2.10 2005-07-21 11:38:47 +00:00
Manish Singh
6394b31435 use G_CALLBACK for signal connections.
2005-07-20  Manish Singh  <yosh@gimp.org>

        * tests/refcount/signals.c: use G_CALLBACK for signal connections.
2005-07-20 20:46:58 +00:00
Manish Singh
f4bc0cb520 Shut up CVS 2005-07-20 20:44:28 +00:00
Matthias Clasen
8412914dcd Remove debugging spew 2005-07-20 17:12:45 +00:00
Matthias Clasen
8ac11176ab Don't get stuck in here if immediate is TRUE. (#310954, Hong Jen Yee)
2005-07-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthreadpool.c (g_thread_pool_free): Don't get
	stuck in here if immediate is TRUE.  (#310954,
	Hong Jen Yee)

	* tests/threadpool-test.c (main): Test immediate == TRUE.
2005-07-20 17:06:02 +00:00
Matthias Clasen
e81747cdc0 Add some discouraging comments to the G_INLINE_FUNC macros. (#310836,
2005-07-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/tmpl/macros_misc.sgml: Add some discouraging
	comments to the G_INLINE_FUNC macros.  (#310836,
	Callum McKenzie)
2005-07-20 15:41:19 +00:00
Tor Lillqvist
f0a0fe7a44 Make this an inline function. Define it only if G_CAN_INLINE and not C++.
2005-07-20  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h (g_win32_get_system_data_dirs): Make this an
	inline function. Define it only if G_CAN_INLINE and not
	C++. (#173098)
2005-07-20 08:37:13 +00:00
Matthias Clasen
912e4ea3cb Avoid an unnecessary strlen if len is -1. (#169692, Benoit Dejean)
2005-07-19  Matthias Clasen  <mclasen@redhat.com>

        * glib/gstring.c (g_string_chunk_insert_len): Avoid
        an unnecessary strlen if len is -1.  (#169692,
        Benoit Dejean)
2005-07-19 19:05:19 +00:00
Matthias Clasen
e2f521eb19 Add docs for #307047, Bryan Silverthorn.
2005-07-19  Matthias Clasen  <mclasen@redhat.com>

        * glib/tmpl/byte_order.sgml: Add docs for #307047,
        Bryan Silverthorn.
2005-07-19 18:36:39 +00:00
Matthias Clasen
cf17bb79d2 Fix g_atomic_pointer_compare_and_exchange on sparc64. (#167572, Gert
2005-07-19  Matthias Clasen  <mclasen@redhat.com>

        * glib/gatomic.c (g_atomic_pointer_compare_and_exchange):
        Fix g_atomic_pointer_compare_and_exchange on sparc64.
        (#167572, Gert Doering)
2005-07-19 15:30:23 +00:00
Matthias Clasen
527334d36d Fix some printf formatting in the German translation. (#310731, Max Horn)
2005-07-18  Matthias Clasen  <mclasen@redhat.com>

	* de.po: Fix some printf formatting in the German
	translation.  (#310731, Max Horn)
2005-07-18 13:27:57 +00:00
Funda Wang
e0d09f5914 Updated Simplified Chinese translation 2005-07-18 05:15:32 +00:00
Žygimantas Beručka
8daac4b133 Updated Lithuanian translation.
2005-07-17  Žygimantas Beručka  <zygis@gnome.org>

        * lt.po: Updated Lithuanian translation.
2005-07-17 18:29:26 +00:00
Laurent Dhima
8e393ab747 Updated Albanian translation.
2005-07-16  Laurent Dhima  <laurenti@alblinux.net>

	* sq.po: Updated Albanian translation.
2005-07-16 16:16:41 +00:00
Matthias Clasen
0719f3b463 Bump version 2005-07-15 17:41:28 +00:00
Matthias Clasen
1760b7074d 2.7.3 2005-07-15 17:28:17 +00:00
Matthias Clasen
d1e79f5f09 Updates 2005-07-15 16:52:58 +00:00
Matthias Clasen
39ea11ce6b Make refcounting threadsafe by using atomic operations. (#166020, Wim
2005-07-15  Matthias Clasen  <mclasen@redhat.com>

	Make refcounting threadsafe by using atomic
	operations.  (#166020, Wim Taymans)

	* gobject.c: Use a recursive lock to protect the
	notify queue.
	(g_object_unref): Get rid of g_object_last_unref and
	do the last unref handling in g_object_unref.
	(g_object_ref, g_object_unref): Use atomic operations.

	* gsignal.c (struct _HandlerMatch): Use a full integer
	for the ref_count field.
	(handler_ref, handler_unref_R): Use atomic operations.

	* gparam.c (g_param_spec_ref, g_param_spec_unref):
	Use atomic operations instead of a lock to make the
	refcounting threadsafe.

	* gclosure.c (g_closure_ref, g_closure_unref): Use atomic
	operations. This is more complicated here, since the
	refcount is stored in a bitfield, so we also have
	to access all other bitfield members atomically.

	* gsignal.c (handlers_find): Read the meta_marshal flag
	of the closure atomically.

	* tests/Makefile.am (SUBDIRS): Add tests/refcount

	* configure.in: Add tests/refcount

	* tests/refcount/properties.c: Test property changes
	from multiple threads.

	* tests/refcount/signals.c: Test signal emission from
	multiple threads.

	* tests/refcount/objects.c: Test refcounting from
	multiple threads.

	* tests/refcount/objects2.c:
	* tests/refcount/properties2.c: Tests to measure the
	overhead of threadsafe refcounting.

	* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
	Use atomic operations to make refcounting
	threadsafe.  (#166020, Wim Taymans)
2005-07-15 16:51:10 +00:00
Matthias Clasen
58729b464b Updates 2005-07-15 15:43:59 +00:00
Matthias Clasen
7221f500f5 Make the tests silent on success.
2005-07-14  Matthias Clasen  <mclasen@redhat.com>

	* tests/spawn-test.c:
	* tests/uri-test.c:
	* tests/thread-test.c:
	* tests/queue-test.c:
	* tests/mainloop-test.c:
	* tests/iochannel-test.c:
	* tests/gio-test.c:
	* tests/child-test.c: Make the tests silent on success.
2005-07-14 05:20:14 +00:00
Matthias Clasen
b36f775177 Fix a typo. (#310243, Richard Laager)
2005-07-13  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c (g_mkdir_with_parents): Fix a
	typo.  (#310243, Richard Laager)
2005-07-13 18:59:46 +00:00
Matthias Clasen
deef36d182 Add G_VA_COPY
2005-07-13  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib-overrides.txt: Add G_VA_COPY
2005-07-13 18:57:18 +00:00
Matthias Clasen
7b70e24179 Warn if a short name is not acceptable.
2005-07-13  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_group_add_entries): Warn if a
	short name is not acceptable.
2005-07-13 13:31:30 +00:00
Kjartan Maraas
138b6c99c0 Update some Update
2005-07-13  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Update some
	* no.po: Update
2005-07-13 08:53:42 +00:00