Commit Graph

2272 Commits

Author SHA1 Message Date
Tim Janik
35db6815fd wiped out all the wonderfull G_OS_WIN32 code i wrote ;-[) after tml told
Mon Jan 23 17:30:33 2006  Tim Janik  <timj@imendio.com>

        * glib/gutils.c (_g_getenv_nomalloc): wiped out all the wonderfull
        G_OS_WIN32 code i wrote ;-[) after tml told me windows has getenv()
        as well.
2006-01-23 16:32:22 +00:00
Tim Janik
75db578288 initialize GSlice config from G_SLICE environemtn variable. we support
Mon Jan 23 16:46:20 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.c (slice_config_init): initialize GSlice config from
        G_SLICE environemtn variable. we support G_SLICE=always-malloc
        currently, which forces all g_slice_*() allocations to use the system
        malloc instead.

        * glib/gutils.c:
        g_parse_debug_string(): added a note about not using g_malloc() here.
        _g_getenv_nomalloc(): getenv() variant that doesn't use g_malloc or
        g_slice. contains only guesswork in the WIN32 branch.
2006-01-23 15:51:06 +00:00
Matthias Clasen
c2d358fbbb Bump version 2006-01-18 17:35:27 +00:00
Matthias Clasen
1154014f26 2.9.4 2006-01-18 17:16:21 +00:00
Matthias Clasen
402a1081ae Add a note about casting the results of g_new() and g_new0().
2006-01-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/tmpl/memory.sgml: Add a note about casting the results
	of g_new() and g_new0().
2006-01-18 03:51:39 +00:00
Sebastian Wilhelmi
f4484f51bf To avoid deadlocks get rid of the settings G_LOCK. Use the
2006-01-17  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gthreadpool.c: To avoid deadlocks get rid of the settings
	G_LOCK. Use the unused_thread_queue lock instead. Change
	g_thread_pool_thread_proxy such that threads only wait on
	non-exlusive pools for at most a 1/2 second. Do not reorder tasks
	due to superfluous tasks. Global tasks wait at most for
	max-idle-time milliseconds. Make sure, that no task is woken up
	twice for the same event via a wakeup_serial. This fixes #324228.

	* tests/threadpool-test.c: Adapt test accordingly. Do not pass
	invalid NULL into the thread pools. This as well fixes #327290.
2006-01-17 20:06:27 +00:00
Matthias Clasen
47d0894a11 Bump version 2006-01-17 00:04:52 +00:00
Matthias Clasen
7f737f1f34 2.9.3 2006-01-17 00:00:17 +00:00
Matthias Clasen
7523252384 Updates
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates
2006-01-16 23:10:47 +00:00
Matthias Clasen
488cee4977 Rework the strict aliasing fix to not break C++, pointed out by Murray
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthread.h (g_static_mutex_get_mutex_impl_shortcut):
	Rework the strict aliasing fix to not break C++, pointed
	out by Murray Cumming.
2006-01-16 23:03:10 +00:00
Matthias Clasen
5fb7be3961 Signal waiting threads, problem noticed by Christian Kellner.
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

        * glib/gasyncqueue.c (g_async_queue_push_sorted_unlocked):
        Signal waiting threads, problem noticed by Christian Kellner.
2006-01-16 22:14:17 +00:00
Matthias Clasen
11a3e72c3a Fix bug 326747, Alberto Ruiz:
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	Fix bug 326747, Alberto Ruiz:

	* glib/gconvert.c (make_valid_utf8): Change this function to
	replace unknown characters by the Unicode replacement character
	instead of '?', and don't append "(invalid encoding)".
	(g_filename_display_name, g_filename_display_basename): Document
	how to determine if the filename was in an invalid encoding.
2006-01-16 14:54:45 +00:00
Matthias Clasen
fb3e4c63ef Replace the simple recursive implementation by a nonrecursive, threaded
2006-01-14  Matthias Clasen  <mclasen@redhat.com>

	* glib/gtree.c: Replace the simple recursive implementation
	by a nonrecursive, threaded implementation by Maurizio
	Monge.  (#169285)
2006-01-14 05:24:10 +00:00
Matthias Clasen
42e7c208b7 Fix the assert to not always trigger. (#326558, Daichi Kawahata)
2006-01-12  Matthias Clasen  <mclasen@redhat.com>

	* tests/asyncqueue-test.c (main): Fix the
	assert to not always trigger.  (#326558,
	Daichi Kawahata)
2006-01-12 20:27:16 +00:00
Matthias Clasen
c93ebd50af Don't test items_read and items_written in error cases where it is not
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	* tests/convert-test.c: Don't test items_read and
	items_written in error cases where it is not set.
2006-01-11 16:49:22 +00:00
Matthias Clasen
e31bd40d43 Set error to NULL.
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	* tests/asyncqueue-test.c: Set error to NULL.
2006-01-11 16:30:21 +00:00
Matthias Clasen
a3a469192c Break some long lines.
2006-01-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gtree.c: Break some long lines.

	* tests/tree-test.c: Add more tests.
2006-01-09 04:11:12 +00:00
Matthias Clasen
0f3dfbfc86 Include config.h first 2006-01-08 23:21:01 +00:00
Sven Herzberg
82395be214 explain that G_TYPE_INSTANCE_GET_CLASS() does behave different during
2005-12-20  Sven Herzberg  <herzi@gnome-de.org>

        * docs/reference/gobject/tmpl/gtype.sgml: explain that
	G_TYPE_INSTANCE_GET_CLASS() does behave different during
	initialization
2006-01-08 15:13:28 +00:00
Matthias Clasen
4a71102e70 Fix a build problem on OS X. 2006-01-06 05:50:40 +00:00
Matthias Clasen
3439650dd1 Bump version 2006-01-06 05:09:30 +00:00
Matthias Clasen
9090c67afc 2.9.2 2006-01-06 05:07:47 +00:00
Hans Breuer
920519fd61 added gslice.obj
2006-01-05  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in : added gslice.obj
2006-01-05 23:37:02 +00:00
Matthias Clasen
4a38d13665 Updates 2006-01-05 21:58:36 +00:00
Matthias Clasen
90bd00b055 Clarify the documentation of source ids a bit. (#325874, Dan Williams)
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmain.c: Clarify the documentation of source ids
	a bit.  (#325874, Dan Williams)
2006-01-05 21:07:55 +00:00
Matthias Clasen
e16ec3b973 Fix another strict aliasing problem.
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Fix another strict aliasing problem.
2006-01-05 14:30:04 +00:00
Matthias Clasen
fbf0e8bc7d Avoid use of varargs macro. (#325864, Kazuki IWAMOTO)
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthreadpool.c: Avoid use of varargs macro.  (#325864,
	Kazuki IWAMOTO)
2006-01-05 14:24:35 +00:00
Manish Singh
7be75a123b glib/glib.symbols don't macroized g_access, g_chdir, and g_unlink either,
2006-01-04  Manish Singh  <yosh@gimp.org>

        * glib/glib.symbols
        * glib/gstdio.h: don't macroized g_access, g_chdir, and g_unlink
        either, since they have the same issue as g_rmdir. (Related to
        bug #325249)
2006-01-05 06:21:49 +00:00
Tim Janik
f2613bf9ed don't reverse chunk order when creating magazines, so we hand out chunks
Wed Jan  4 13:33:25 2006  Tim Janik  <timj@gtk.org>

        * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk
        order when creating magazines, so we hand out chunks with ascending
        adresses.
2006-01-04 13:03:22 +00:00
Abel Cheung
9c9e953440 Added "ml" "zh_HK" to ALL_LINGUAS.
2006-01-04  Abel Cheung  <maddog@linuxhall.org>

	* configure.in: Added "ml" "zh_HK" to ALL_LINGUAS.
2006-01-04 02:27:22 +00:00
Martyn James Russell
941faa1ca9 - Added new API g_thread_pool_get_idle_time() and
* docs/reference/glib/glib-sections.txt:
* glib/glib.symbols:
* glib/gthreadpool.[ch]:
- Added new API g_thread_pool_get_idle_time() and
g_thread_pool_set_idle_time(). (#324228).

* tests/threadpool-test.c:
- Updated test case to do thread pool sorting, thread pool with
no sorting and a thread pool with idle thread timeouts.
2006-01-03 15:09:52 +00:00
Matthias Clasen
be5d72cba0 Add new functions 2006-01-03 14:52:34 +00:00
Matthias Clasen
796aa7e06e Small fixes 2006-01-03 12:01:05 +00:00
Michael Meeks
d2555b65ee new method to determine if the current thread is the owner of the context.
2005-12-20  Michael Meeks  <michael.meeks@novell.com>

	* glib/gmain.c (g_main_context_is_owner): new method
	to determine if the current thread is the owner of the
	context.
2006-01-03 10:24:07 +00:00
Matthias Clasen
a5a39466a1 Don't provide g_rmdir() as a macro expanding to rmdir, since rmdir is not
2006-01-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gstdio.h:
	* glib/gstdio.c (g_rmdir): Don't provide g_rmdir() as a macro
	expanding to rmdir, since rmdir is not declared in a portable
	system header we can include in gstdio.h.  (#325249, Jani Monoses)
2006-01-03 02:53:05 +00:00
Tor Lillqvist
07e1d54fb7 Set the GIOChannels for stdout and stderr to unbuffered. Otherwise the
2006-01-01  Tor Lillqvist  <tml@novell.com>

	* glib/gspawn-win32.c (g_spawn_sync_utf8): Set the GIOChannels for
	stdout and stderr to unbuffered. Otherwise the giochannel layer
	will try to read from them regardless whether the
	g_io_channel_win32_poll() call here has indicated
	readability or not. (#325310)
2006-01-01 11:15:56 +00:00
Matthias Clasen
fd73fead6f Fix a copy-and-paste error in the docs. (#325273, Declan Naughton)
2005-12-29  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.c (glib_check_version): Fix a copy-and-paste error
	in the docs.  (#325273, Declan Naughton)
2005-12-30 02:08:02 +00:00
Manish Singh
a05f171524 use LC_ALL instead of LC_COLLATE, to make sure we really override things.
2005-12-27  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-tests.sh: use LC_ALL instead of LC_COLLATE, to
        make sure we really override things.
2005-12-27 23:35:52 +00:00
Matthias Clasen
1e4efb6554 Fix #316221, Michal Benes, Stanislav Brabec;
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        Fix #316221, Michal Benes, Stanislav Brabec;

        * configure.in: Fix a strict aliasing problem in
        g_static_mutex_get_mutex().
        * glib/gthread.h: ...and in
        g_static_mutex_get_mutex_impl_shortcut().
2005-12-27 19:50:02 +00:00
Matthias Clasen
97ffe020cd Add a cast to silence compiler warnings. (#321978, Andrew Paprocki)
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gdatasetprivate.h: Add a cast to silence compiler
        warnings.  (#321978, Andrew Paprocki)
2005-12-27 19:21:36 +00:00
Matthias Clasen
d947ad7167 Partial fix for bug #32937, Bogdan Nicula.
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        Partial fix for bug #32937, Bogdan Nicula.

        * configure.in: Check for malloc.h
        * glib/gslice.c: Don't include malloc.h unconditionally.
2005-12-27 19:15:12 +00:00
Manish Singh
4a94f2d332 export LC_COLLATE so it takes. (#324950, Dan Yefimov)
2005-12-27  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-tests.sh: export LC_COLLATE so it takes.
        (#324950, Dan Yefimov)
2005-12-27 08:23:08 +00:00
Matthias Clasen
8ade96bdce On Win32, include process.h (#325015, Kazuki Iwamoto)
2005-12-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gslice.c: On Win32, include process.h  (#325015, Kazuki
	Iwamoto)
2005-12-26 23:18:09 +00:00
Matthias Clasen
3ca25a1efa Updates 2005-12-26 05:23:08 +00:00
Matthias Clasen
47d2ef18ea Fix C99isms. (#324950, Dan Yefimov)
2005-12-25  Matthias Clasen  <mclasen@redhat.com>

        * tests/slice-test.c: Fix C99isms.  (#324950, Dan Yefimov)
2005-12-26 04:59:34 +00:00
Matthias Clasen
513be6bbae Updates 2005-12-21 06:33:37 +00:00
Matthias Clasen
700a71f010 New function to sort tasks pushed into a threadpool. (#324479, Martyn
2005-12-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gthreadpool.h:
	* glib/gthreadpool.c (g_thread_pool_set_sort_function): New function
	to sort tasks pushed into a threadpool.  (#324479, Martyn Russell)

	* tests/threadpool-test.c: Test this.
2005-12-21 04:45:56 +00:00
Tim Janik
3f9d65375e added mem_error() and mem_assert() to test and handle errors without
Tue Dec 20 18:14:14 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.[hc]: added mem_error() and mem_assert() to test and
        handle  errors without depending on gmessage.c which might not be
        setup when the error occours.
        removed G_SLICE_CONFIG_ALWAYS_FREE config option, fixed the code so
        always freeing can be achieved by adjusting the working set time to
        0 with G_SLICE_CONFIG_WORKING_SET_MSECS.
        added G_SLICE_CONFIG_COLOR_INCREMENT to test different color increments
        (mainly 0 and 1). reduced the minimum block size to 128 bytes, to
        minimize wastage if small amounts of differently sized structrues are
        allocated, this does come at a performance cost of roughly 5% though.
        fixed up block alignment calculation, so it works for varying
        block sizes. only use strerror() not g_strerror() since the latter
        depends on working GQuark and GSlice.
        mem_error(): implemented in terms of fprintf and vfprintf.

        * tests/slice-color.c: new program to test cache colorization effects.

        * tests/slice-test.c: trade G_SLICE_CONFIG_ALWAYS_FREE for 0 duration
        G_SLICE_CONFIG_WORKING_SET_MSECS.
2005-12-20 17:35:02 +00:00
Matthias Clasen
df21b345c5 Set an error in all failure cases. (#324332, Tim-Philipp Müller)
2005-12-17  Matthias Clasen  <mclasen@redhat.com>

        * glib/goption.c (parse_short_option): Set an error in all
        failure cases.  (#324332, Tim-Philipp Müller)
2005-12-18 02:46:27 +00:00
Sebastian Wilhelmi
78568970db Fix memory barrier position in g_atomic_int_get and g_atomic_pointer_get.
2005-12-17  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gatomic.c: Fix memory barrier position in g_atomic_int_get
	and g_atomic_pointer_get. Add g_atomic_int_set and
	g_atomic_pointer_set implementations for the !DEFINE_WITH_MUTEXES &&
	G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case, as well as defining them
	as functions (additionally to the macros in the header) for the
	!G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case.
2005-12-17 12:20:50 +00:00
Matthias Clasen
63732bdf5e Don't return a pointer to a const struct, since apps expect to be able to
2005-12-16  Matthias Clasen  <mclasen@redhat.com>

        *  glib/gmem.c (g_allocator_new): Don't return a pointer to
        a const struct, since apps expect to be able to modify it.
        (#324179, J. Ali Harlow)
2005-12-16 21:13:18 +00:00
Tim Janik
7c24467a1c added g_atomic_pointer_set() and g_atomic_int_set() for systems where the
Tue Dec 13 10:13:32 2005  Tim Janik  <timj@imendio.com>

        * glib/gatomic.h: added g_atomic_pointer_set() and g_atomic_int_set()
        for systems where the initialization of atomic variables requires a
        write memory barrier.
2005-12-13 09:15:52 +00:00
Matthias Clasen
0d19d25fe4 Bump version 2005-12-09 20:00:06 +00:00
Matthias Clasen
eff8046fcc 2.9.1 2005-12-09 18:05:25 +00:00
Alexander Larsson
dd1878cd75 Use G_GNUC_WARN_UNUSED_RESULT on list functions that return the whole
2005-12-09  Alexander Larsson  <alexl@redhat.com>

	* glib/glist.h:
	* glib/gslist.h:
	Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
	the whole list.
2005-12-09 13:58:57 +00:00
Matthias Clasen
52917fc408 Updates
2005-12-08  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates
2005-12-08 05:00:35 +00:00
Martyn James Russell
c6ad7b7ac8 - Call g_queue_insert_sorted() instead of duplicating the code. - Call
* glib/gasyncqueue.c:
- Call g_queue_insert_sorted() instead of duplicating the code.
- Call g_queue_sort() instead of duplicating the code.
- Invert sort function results to make sure the same sort function
gives the same results across glist, gslist, gqueue and
gasyncqueue.

* tests/asyncqueue-test.c:
- Updated the sort function to reflect the example in the
documentation for gasyncqueue.c.
2005-12-07 12:09:44 +00:00
Martyn James Russell
9763367246 Missed the ChangeLog 2005-12-07 11:36:48 +00:00
Tor Lillqvist
d63b58e8c5 Look up prefix at run-time on Win32, assuming the standard directory
2005-12-07  Tor Lillqvist  <tml@novell.com>

	* glib-gettextize.in: Look up prefix at run-time on Win32,
	assuming the standard directory structure with glib-gettextize in
	$prefix/bin.
2005-12-07 03:57:14 +00:00
Matthias Clasen
d3388eb4e8 Exempt GTK+ from the mem chunk deprecation, since we need GTK+ 2.8 to
2005-12-06  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
	we need GTK+ 2.8 to compile against GLib 2.10.
2005-12-06 14:16:27 +00:00
Manish Singh
b995c03ea2 set LC_COLLATE, not LANG, to be sure to override any user settings.
2005-12-05  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
        to override any user settings.
2005-12-05 21:45:06 +00:00
Matthias Clasen
886e00c760 Revert an accidental commit 2005-12-05 21:09:20 +00:00
Matthias Clasen
c9387d9069 Documentation updates. (#323291, Morten Welinder)
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
2005-12-05 19:09:00 +00:00
Matthias Clasen
81f0bb11a9 Set MALLOC_CHECK_ and MALLOC_PERTURB_
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am (TESTS_ENVIRONMENT):
	* tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
	MALLOC_CHECK_ and MALLOC_PERTURB_

	* tests/run-collate-tests.sh: Run the collation tests explicitly
	in en_US locale. (#320463)
2005-12-05 16:35:38 +00:00
Matthias Clasen
7d5800d718 Deprecate mem chunks 2005-12-05 15:54:44 +00:00
Matthias Clasen
0b5560da8b Add versioned deprecation information 2005-12-05 15:38:54 +00:00
Martyn James Russell
a127920458 - Added support for sorting async queues by with _push_sorted(),
* docs/reference/glib/glib-sections.txt:
* glib/gasyncqueue.[ch]:
- Added support for sorting async queues by with _push_sorted(),
_push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).

* tests/Makefile.am:
* tests/asyncqueue-test.c:
- Added test case for gasyncqueue.c
2005-12-05 15:08:45 +00:00
Tim Janik
6ed79b115c implement chain walking for arbitrary ->next pointer offsets in
Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: implement chain walking for arbitrary ->next pointer
        offsets in g_slice_free_chain_with_offset() based on a patch by behdad
        in bug 323178. moved time consuming logic from g_slice_free() out of
        the inner loop, so g_slice_free_chain_with_offset() provides a real
        performance benefit over g_slice_free1() now.

        * glib/gslice.h: renamed g_slice_free_chain() to
        g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
        a type-safe macro as suggested in bug 323178.
        simplified the macro implementation of g_slice_free() and implemented
        it in a type safe manner for all compliers as suggested by Morten
        Welinder <mortenw@gnome.org>.

        * glib/gmain.c:
        * glib/glist.c:
        * glib/gslist.c:
        * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
2005-12-05 15:01:27 +00:00
Matthias Clasen
559e1057a0 Add some docs.
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gasyncqueue.c: Add some docs.
2005-12-05 13:50:39 +00:00
Matthias Clasen
5c32d5236f Fix compiler warnings.
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* tests/libmoduletestplugin_a.c: Fix compiler warnings.

	* glib/gatomic.c: In the ia64 implementation, use
	__sync builtin without _si or _di suffix.  (#321229,
	Stanislav Brabec, patch by Andreas Schwab)
2005-12-05 13:37:55 +00:00
Behdad Esfahbod
9200814d86 Remove comma at the end of enum.
2005-12-04  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gslice.h: Remove comma at the end of enum.
2005-12-05 00:45:55 +00:00
Matthias Clasen
8529c47126 Handle multiple user names with the same UID better. (#319535, Laszlo
2005-12-04  Matthias Clasen  <mclasen@redhat.com>

	Handle multiple user names with the same UID better.
	(#319535, Laszlo Peter)

	* glib/gutils.c (g_get_any_init_do): When determining user
	data, first look up $LOGNAME. If the UID doesn't match
	getuid(), fall back to the current behaviour of looking
	up the user data based on getuid().
2005-12-04 07:00:50 +00:00
Matthias Clasen
00f952f8e8 Add a macro to make gcc warn if a function result is ignored. (#145466,
2005-12-04  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
	to make gcc warn if a function result is ignored.  (#145466,
	Arjan van de Ven, Alex Larsson)

	* glib/gmem.h: Add the new attribute to g_realloc and
	g_try_realloc.
2005-12-04 06:41:58 +00:00
Matthias Clasen
36c836435b Deprecate g_cache_value_foreach. (#322956, Nicolas Caniart)
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
	Nicolas Caniart)
2005-12-03 06:53:31 +00:00
Matthias Clasen
d87c91a396 Make mapping of empty files work. (#321530)
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmappedfile.c: Make mapping of empty files
        work.  (#321530)
2005-12-03 06:44:02 +00:00
Matthias Clasen
1fe373b279 Don't fork a new process just to fix the permissions of the created temp
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c: Don't fork a new process just to
	fix the permissions of the created temp file.  (#321318,
	Alexis S. L. Carvalho)
2005-12-03 06:10:52 +00:00
Matthias Clasen
d1379dbdf8 Add a note about Solaris threads.
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* README.in: Add a note about Solaris threads.
2005-12-02 21:40:43 +00:00
Matthias Clasen
f42f6da6d5 Remove support for Solaris threads. (#136971, Sebastian Wilhelmi, patch by
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gspawn.c:
	* configure.in: Remove support for Solaris threads.
	(#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
2005-12-02 21:37:25 +00:00
Matthias Clasen
7ddcde62c0 Define G_GUINT64_CONSTANT in analogy to G_GINT64_CONSTANT. (#322568,
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Define G_GUINT64_CONSTANT in analogy to
	G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
2005-12-02 21:25:45 +00:00
Matthias Clasen
ec2155a896 Portability fixes, C99ism removal 2005-12-02 20:11:28 +00:00
Matthias Clasen
8f843302f8 Add a missing volatile for the IA64 implementation.
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
	the IA64 implementation.
2005-12-02 16:57:24 +00:00
Tim Janik
1e01f52ed4 some naming and type size fixups.
Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: some naming and type size fixups.
2005-12-02 15:18:39 +00:00
Tim Janik
605fc3d480 reworked GCC-specific type-safe macro variant into something less verbose,
Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>

        * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
        variant into something less verbose, but digestible for gcc-3.4.
2005-12-02 12:11:34 +00:00
Tim Janik
b78b4ee7fe extended to perform the benchmarking on the old memchunk code if 'O' is
Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>

        * tests/slice-test.c: extended to perform the benchmarking on the old
        memchunk code if 'O' is selected.

        * tests/memchunks.c: new file which contains the old GLib mem chunks
        implementation with prefix old_mem_chunk_.

        * tests/Makefile.am: added memchunks.c
2005-12-02 12:10:49 +00:00
Tim Janik
8a5fb6c1be improved gettimeofday() timer resolution by maintaining acceptable load
Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
        acceptable load distribution of the syscall.
        (allocator_get_magazine_threshold): reduce minimum/single-thread magazine
        sizes to approximately page_size/2.5 to avoid excessive startup allocations.
2005-12-01 23:21:49 +00:00
Tim Janik
2319431345 improved gettimeofday() timer resolution by maintaining acceptable load
Fri Dec  2 00:16:59 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: improved gettimeofday() timer resolution by maintaining
        acceptable load distribution of the syscall.
        (slab_allocator_free_chunk): reduce minimum/single-thread magazine sizes
        to approximately page_size/2.5 to avoid excessive startup allocations.
2005-12-01 23:20:22 +00:00
Matthias Clasen
a2f85d23ef Make tests work with slice allocator 2005-12-01 18:06:17 +00:00
Matthias Clasen
470abcc950 Remove a duplicate _LDADD 2005-12-01 16:43:56 +00:00
Tim Janik
733b1789c1 new slice allocator implementation.
Thu Dec  1 17:32:46 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.[hc]: new slice allocator implementation.

        * tests/slice-test.c: added random slice allocation test.

        * glib/gthread.[hc]: removed newly added private thread mem API.

        * glib/gthreadinit.h:
        * glib/gmessages.c:
        * glib/gthread.c:
        * glib/gmem.c: divided glib threading initialisation into three phases,
        initialisation where private keys and messaging are not available (only
        needed by gmem.c), initialisation without messaging but private keys
        available (gslice.c, gmessage.c), and full fledged initialisers that
        server the rest of glib. initialisation functions got renamed to reflect
        the limitations of their corresponding phases.

        * glib/gmem.c: removed memchunk code, defer allocations to
        g_slice_* instead.

        * glib/gmem.[hc]: removed g_slice_* skeletons.

        * glib/glib.symbols: added g_slice_* symbols.

        * configure.in: check for availability of posix_memalign(3), memalign(3)
        and valloc(3).

        * glib/Makefile.am: added gslice.[hc].
2005-12-01 16:34:33 +00:00
Tor Lillqvist
4a964f2566 In the Win32 implementation, strip trailing slash(es) for non-root
2005-12-01  Tor Lillqvist  <tml@novell.com>

	* glib/gstdio.c (g_stat): In the Win32 implementation, strip
	trailing slash(es) for non-root folders. stat() fails if non-root
	folders are specified with trailing slashes. It's too much hassle
	to demand that callers strip such slashes themselves, especially
	as it is easy to get it wrong and strip the slash of a root
	folder.
	(g_rename): On NT-based Windows, use MoveFileEx() with
	MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
2005-12-01 04:03:58 +00:00
Matthias Clasen
6796398522 Fix G_STMT_START / G_STMT_END on Solaris. (#321972, Andrew Paprocki)
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

        Fix G_STMT_START / G_STMT_END on Solaris.  (#321972,
        Andrew Paprocki)

        * configure.in: Check whether do { } while (0) works.

        * glib/gmacros.h: Use do { } while (0) for G_STMT_START /
        G_STMT_END if it works.
2005-11-30 04:54:57 +00:00
Matthias Clasen
09b118f462 Silence compiler warnings.
2005-11-28  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal):
	* glib/gnode.c (g_node_depth_traverse_level):
	* glib/gmem.c (g_allocator_new):
	* glib/ghash.c (g_hash_table_unref, g_hash_table_destroy)
	(g_hash_table_foreach_remove_or_steal): Silence compiler
	warnings.
2005-11-28 18:31:03 +00:00
Matthias Clasen
bb5ce4b2d3 Don't read beyond len. (#322520, Christian Persch)
2005-11-27  Matthias Clasen  <mclasen@redhat.com>

	* glib/gunicollate.c (g_utf8_collate_key_for_filename):
	Don't read beyond len.  (#322520, Christian Persch)
2005-11-27 20:15:41 +00:00
Tim Janik
2027d87b5b access datalist flags via atomic pointer access funcitons, instead of
Wed Nov 23 17:34:01 2005  Tim Janik  <timj@imendio.com>

        * glib/gdataset.c: access datalist flags via atomic pointer access
        funcitons, instead of acquiring the dataset lock. this is faster and
        also matches the atomic pointer readouts in gdatalistprivate.h and
        direct pointer modifications required by gobject.c.
2005-11-23 17:54:57 +00:00
Tim Janik
311094aeab streamlined initialization code somewhat, removed GData node cache.
Wed Nov 23 13:35:31 2005  Tim Janik  <timj@gtk.org>

        * glib/gdataset.c: streamlined initialization code somewhat,
        removed GData node cache.
2005-11-23 12:37:20 +00:00
Matthias Clasen
fe749cbd3b Documentation improvements 2005-11-23 04:29:43 +00:00
Matthias Clasen
9ee3896017 Avoid double locking in g_intern_string (#322133, Benedikt Meurer)
2005-11-22  Matthias Clasen  <mclasen@redhat.com>

	Avoid double locking in g_intern_string (#322133,
	Benedikt Meurer)

	* glib/gdataset.c (g_quark_from_string_internal): New
	internal function which factors out common parts of
	g_quark_from[_static]_string.
	(g_quark_from_string, g_quark_from_static_string):
	Use g_quark_from_string_internal.
	(g_intern_string, g_intern_static_string): Use
	g_quark_from_string_internal, and only take the
	lock once.
	(g_quark_new): Don't store the strings shifted by -1
	in the g_quarks array.
	(g_quark_to_string): Adapt to the previous change.
2005-11-22 15:34:09 +00:00
Tim Janik
3e847a090c g_hash_table_new_full(): create hash tables with a ref count of 1.
Tue Nov 22 14:04:26 2005  Tim Janik  <timj@imendio.com>

        * glib/ghash.h:
        * glib/ghash.c:
        g_hash_table_new_full(): create hash tables with a ref count of 1.
        g_hash_table_ref(): atomically ref_count+=1
        g_hash_table_unref(): atomically ref_count-=1, destroys hash table
        when refcount reaches 0.
        g_hash_table_destroy(): just destroy keys and values, unref by 1.
        g_hash_table_insert():
        g_hash_table_replace(): assert ref_count>0.

        * glib/gatomic.h:
        * glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
        integer pointers.
2005-11-22 13:16:58 +00:00
Behdad Esfahbod
79209e5d56 Oops, copy-pasted Matthias's sig line!
2005-11-20  Behdad Esfahbod  <behdad@gnome.org>

        * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
        variables. (#321984, Andrew Paprocki)
2005-11-21 00:50:04 +00:00
Matthias Clasen
dad87b1a75 Remove unused variables. (#321984, Andrew Paprocki)
2005-11-18  Matthias Clasen  <mclasen@redhat.com>

        * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
        variables. (#321984, Andrew Paprocki)
2005-11-21 00:47:54 +00:00