X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=75fa558ab300dcf699481d9c6c1373c2ecb4f229;hb=1e4efb655493397dc19921a7a49281e789f9160c;hp=fe23d0c2d93064c28178be9ad3c28c738ba67ffc;hpb=81719cc1645192142d2c974a1840f58ddf027cc6;p=platform%2Fupstream%2Fglib.git diff --git a/ChangeLog b/ChangeLog index fe23d0c..75fa558 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,681 @@ +2005-12-27 Matthias Clasen + + 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(). + + * glib/gdatasetprivate.h: Add a cast to silence compiler + warnings. (#321978, Andrew Paprocki) + + 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 Manish Singh + + * tests/run-collate-tests.sh: export LC_COLLATE so it takes. + (#324950, Dan Yefimov) + +2005-12-26 Matthias Clasen + + * glib/gslice.c: On Win32, include process.h (#325015, Kazuki + Iwamoto) + +2005-12-25 Matthias Clasen + + * AUTHORS: Update my email + + * tests/slice-test.c: Fix C99isms. (#324950, Dan Yefimov) + +2005-12-21 Matthias Clasen + + * README.in: Add some notes on when 'make check' may fail. + +2005-12-20 Matthias Clasen + + * 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. + +Tue Dec 20 18:14:14 2005 Tim Janik + + * 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-17 Matthias Clasen + + * glib/goption.c (parse_short_option): Set an error in all + failure cases. (#324332, Tim-Philipp Müller) + +2005-12-17 Sebastian Wilhelmi + + * 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-16 Matthias Clasen + + * 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) + +Tue Dec 13 10:13:32 2005 Tim Janik + + * 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-09 Matthias Clasen + + * configure.in: Bump version + + * === Released 2.9.1 === + +2005-12-09 Alexander Larsson + + * glib/glist.h: + * glib/gslist.h: + Use G_GNUC_WARN_UNUSED_RESULT on list functions that return + the whole list. + +2005-12-08 Matthias Clasen + + * NEWS: Updates + +2005-12-07 Martyn Russell + + * 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 Martyn Russell + + * docs/reference/glib/glib-sections.txt: + * docs/reference/glib/tmpl/linked_lists_double.sgml: + * docs/reference/glib/tmpl/linked_lists_single.sgml: + * glib/glist.[ch]: + * glib/gslist.[ch]: + - Added g_list_insert_sorted_with_data () and + g_slist_insert_sorted_with_data (). + - Removed the extra check in g_list_sort() and g_slist_sort() for + GCompareDataFunc vs. GCompareFunc. + +2005-12-07 Tor Lillqvist + + * glib-gettextize.in: Look up prefix at run-time on Win32, + assuming the standard directory structure with glib-gettextize in + $prefix/bin. + +2005-12-06 Matthias Clasen + + * glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since + we need GTK+ 2.8 to compile against GLib 2.10. + +2005-12-05 Manish Singh + + * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure + to override any user settings. + +2005-12-05 Matthias Clasen + + * configure.in: Revert an accidential commit + +2005-12-05 Matthias Clasen + + * glib/gutf8.c: Documentation updates. (#323291, Morten Welinder) + + * 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) + + * glib/gmem.h: Really deprecate GMemChunk. + + * glib/gdate.c: + * glib/gutils.c: + * glib/gtree.c: + * glib/gstring.c: + * glib/giochannel.c: + * glib/gstrfuncs.c: Add versioned deprecation docs. + +2005-12-05 Martyn Russell + + * 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 + +Mon Dec 5 15:53:20 2005 Tim Janik + + * 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 . + + * 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 Matthias Clasen + + * glib/gasyncqueue.c: Add some docs. + + * 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-04 Behdad Esfahbod + + * glib/gslice.h: Remove comma at the end of enum. + +2005-12-04 Matthias Clasen + + 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 Matthias Clasen + + * 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-03 Matthias Clasen + + * glib/glib.symbols: + * glib/gcache.h: Deprecate g_cache_value_foreach. (#322956, + Nicolas Caniart) + + * glib/gmappedfile.c: Make mapping of empty files + work. (#321530) + + * 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-02 Matthias Clasen + + * README.in: Add a note about Solaris threads. + + * glib/gspawn.c: + * configure.in: Remove support for Solaris threads. + (#136971, Sebastian Wilhelmi, patch by Andrew Paprocki) + +2005-12-02 Matthias Clasen + + * configure.in: Define G_GUINT64_CONSTANT in analogy to + G_GINT64_CONSTANT. (#322568, Andrew Paprocki) + +2005-12-02 Matthias Clasen + + * glib/gslice.c: Win32 portability fixes and C99ism removal, + pointed out by Kazuki Iwamoto. (#323052) + +2005-12-02 Matthias Clasen + + * glib/gatomic.c (g_atomic_int_add): Add a missing volatile for + the IA64 implementation. + +Fri Dec 2 16:18:09 2005 Tim Janik + + * glib/gslice.c: some naming and type size fixups. + +Fri Dec 2 13:08:58 2005 Tim Janik + + * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro + variant into something less verbose, but digestible for gcc-3.4. + +Fri Dec 2 10:55:07 2005 Tim Janik + + * 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 + +Fri Dec 2 00:16:59 2005 Tim Janik + + * 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 Matthias Clasen + + * tests/gobject/ifacecheck.c (test_iface_base_init): Don't + double-free base interface members. + + * tests/Makefile.am: Remove duplicate variable. + +Thu Dec 1 17:32:46 2005 Tim Janik + + * 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 Tor Lillqvist + + * 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-11-28 Matthias Clasen + + 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-28 Matthias Clasen + + * 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-27 Matthias Clasen + + * glib/gunicollate.c (g_utf8_collate_key_for_filename): + Don't read beyond len. (#322520, Christian Persch) + +Wed Nov 23 17:34:01 2005 Tim Janik + + * glib/gdataset.c: access datalist flags via atomic pointer access + functions, 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. + +Wed Nov 23 13:35:31 2005 Tim Janik + + * glib/gdataset.c: streamlined initialization code somewhat, + removed GData node cache. + +2005-11-22 Matthias Clasen + + * glib/ghash.c (g_hash_table_ref): + (g_hash_table_unref): Mark these as new API. + + 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. + +Tue Nov 22 14:04:26 2005 Tim Janik + + * 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-20 Behdad Esfahbod + + * glib/guniprop.c (g_unichar_get_mirror_char): Remove unused + variables. (#321984, Andrew Paprocki) + +2005-11-18 Matthias Clasen + + * configure.in: Bump version + +2005-11-17 Matthias Clasen + + * === Released 2.9.0 === + + * glib/glib.symbols: Updates + + * glib/gutf8.c (g_utf8_offset_to_pointer): Add some performance + hints to the docs. (Paolo Borelli) + + * NEWS: Updates + + * glib/gthread.c (g_thread_foreach): Mark as new api. + + * README.in: Updates. + + * glib/glib.symbols: + * glib/gdate.h: + * glib/gdate.c (g_date_set_time_t): + (g_date_set_time_val): Add functions to set a date from + a time_t and from a GTimeVal. + (g_date_set_time): Deprecate. (#314067, Roger Leigh) + + * tests/Makefile.am: + * tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset + and g_utf8_offset_to_pointer. + + * glib/gutf8.c (g_utf8_pointer_to_offset) + (g_utf8_offset_to_pointer): Handle negative offsets, and use + "stutter stepping" for going backwards. (#320638, Larry + Ewing) + + * glib/gbacktrace.c: + * glib/gdate.c: + * glib/gthread.c: const correctness fixes, found + by Arjan van de Ven and gcc. + +2005-11-16 Behdad Esfahbod + + * docs/reference/glib/tmpl/unicode.sgml: Correct typo on mentioning + @G_UNICODE_BREAK_UNKNOWN that should be #G_UNICODE_BREAK_UNKNOWN. + +2005-11-09 Behdad Esfahbod + + * glib/guniprop.c: Use bit hacks instead when checking a general + category value against multiple values. + + * glib/gutf8.c: Change ISO10646 to Unicode in docs. + +2005-11-10 Simos Xenitellis + + * configure.in: Added tt (Tatar) to ALL_LINGUAS. + +2005-11-05 Tor Lillqvist + + * glib/giowin32.c (g_io_win32_set_flags): Don't call g_warning(). + (#320688) Instead set error and return failure. + +2005-11-07 Matthias Clasen + + * glib/gmain.c (g_main_dispatch): Don't call cb_funcs->unref + while holding the context lock. (#320886, Andy Wingo) + +2005-11-07 Billy Biggs + + * tests/refcount/Makefile.am: Add a missing reference to libglib + in the LDADD for this test. + +2005-11-07 Matthias Clasen + + * glib/gmem.c (g_allocator_new): We need to set n_preallocs to a + nonzero value, otherwise GTK+ 2.8 breaks when compiled against + GLib 2.9. (#320755, Luca Ferretti) + +2005-11-04 Matthias Clasen + + * glib/Makefile.am: Apply a patch from Behdad Esfahbod to + use a faster lookup table for g_unichar_get_mirror_char(). + * glib/gmirroringtable.h: The new table. + * glib/gunichartables.h: Remove bidi_mirroring_table. + * glib/gen-unicode-tables.pl: Don't generate the mirroring + table. + * glib/glib-mirroring-tab/*: Sources for the program + which generated gmirroringtable.h. + + * glib/glist.c: Avoid some code duplication. + + * glib/gscanner.h: Include gdataset.h. (#320322) + + * glib/gdebug.h: add new GDebugFlag for fatal_criticals + * glib/gmessages.c: (_g_debug_init): handle G_DEBUG=fatal_criticals, + to help find critical warnings in applications. (#320017, + Vincent Untz) + +2005-11-02 Tor Lillqvist + + * glib/glib.symbols: Remove large amount of trailing whitespace + from one line. Remove #ifdef G_UNDEFINED from around + g_hash_table_new and g_hash_table_new_full symbols, what was the + purpose of that? Add the g_slice functions. + +Tue Nov 1 16:24:20 2005 Tim Janik + + * glib/gmem.[hc]: prepared deprecation of GMemChunk and GAllocator. + added g_slice_*() API to allocate and cache small bits of memory. + an actuall allocator implementation for g_slice_*() is still pending. + + * glib/gthread.[hc]: changes from a patch by Matthias Clasen. + changed GRealThread list to use in-structure *next; fields instead + of GSList, in order for thread iteration to not depenend on g_slice_*() + indirectly. + _g_thread_mem_private_get(): + _g_thread_mem_private_set(): added accessors for private memory, + needed because the ordinary GPrivate implementation relies on GArray + and GSList and therefore indirectly on working g_slice_*() allocations. + + * glib/gthread.[hc]: + g_thread_foreach(): new public API function to loop over all existing threads. + + * glib/gdataset.c: + * glib/gstring.c: + * glib/gcache.c: + * glib/garray.c: + * glib/gqueue.c: + * glib/gslist.c: + * glib/glist.c: + * glib/ghash.c: + * glib/gtree.c: + * glib/ghook.c: + * glib/gmain.c: + * glib/gnode.c: + removed GAllocator and free list usages and accompanying locks. + use g_slice_*() API to allocate and cache small bits of memory. + + * glib/ghook.h: removed GMemChunk field from public API. + + * glib/gslist.h: + * glib/glist.h: deprecate allocator API, provide _free1() for consistency. + + * glib/gnode.h: deprecate allocator API. + + * glib/gmain.c: reordered GPollRec fields so g_slice_free_chain() can + be used for poll rec lists. + + * glib/grel.c: removed mem chunk usage, and allocated tuples via g_slice_*(). + g_relation_destroy(): free all tuples from the all_tuples hash table, + this effectively maintains the life time track keeping of tuples. + g_relation_delete_tuple(): free tuples which are removed from the + all_tuples hash table. this fixes a temporary leak that was present + in the memchunk code until the destruction of the relation. + +2005-10-29 Matthias Clasen + + * tests/convert-test.c: Add some tests for conversions between + UTF-8, UCS-4 and UTF-16. + + * glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling + of len == -1, noticed by Morten Welinder. + +2005-10-27 Erdal Ronahi + + * configure.in: Added ku (Kurdish) to ALL_LINGUAS + +2005-10-26 Matthias Clasen + + * glib/gutf8.c (g_ucs4_to_utf8): Don't set items_read twice + in the error case, and add some documentation. (#319806, Morten + Welinder) + +2005-10-19 Manish Singh + + * configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the + config.h symbol automatically. Fixes bug #313731. + +2005-10-19 Tor Lillqvist + + * glib/gwin32.c (g_win32_get_package_installation_directory): + Return a g_strdup()ed copy of the value stored in the hash table, + so that it can be g_free()d without leaving a dangling pointer in + the hash table. (#319232) + +2005-10-06 Matthias Clasen + + * glib/gunicollate.c (g_utf8_collate_key_for_filename): Handle + all-zero sequences correctly. (#317930, Sebastien Bacher) + +2005-10-05 Matthias Clasen + + * glib/gmarkup.c (g_markup_escape_text): Doc addition + + * Makefile.am: Add Collation tests. + + * tests/collate/*: Inputs and expected outputs for collation tests. + + * tests/run-collate-tests.sh: Script to run collation tests. + + * tests/unicode-collate.c (main): Rework slightly to make + it usable in unit tests. Also test g_utf8_collate_key_for_filename(). + +2005-10-01 Behdad Esfahbod + + * docs/reference/glib/tmpl/unicode.sgml: + * glib/gen-unicode-tables.pl: + * glib/gunibreak.h: + * glib/gunichartables.h: + * glib/gunicode.h: + * tests/casefold.txt: + * tests/casemap.txt: Updated to Unicode 4.1. There are five new + GUnicodeBreakType types. That may break some applications, like + Pango <= 1.10. + +2005-09-26 Matthias Clasen + + * glib/gstrfuncs.c (g_ascii_strtoull): Add details to the + docs. (#314393, Matthew F. Barnes) + + * glib/glib.symbols: + * glib/gprintf.h: Remove g_snprintf() and g_vsnprintf(), since + they are already declared in glib.h. This doesn't break documented + use of gprintf.h, but should probably be pointed out in the + release notes for 2.10. (#314232, Behdad Esfahbod) + +Tue Sep 20 13:16:04 2005 Tim Janik + + * glib/gpattern.c (g_pattern_ph_match): applied significant recursion + complexity optimization, based on a patch from Matthias Clasen. + + * tests/patterntest.c: more tests, mostly from matthias. + +2005-09-20 Matthias Clasen + + * glib/gqueue.c (g_queue_insert_sorted): Correct the docs. + (#316703, Mark Drago) + +Mon Sep 19 17:23:23 2005 Tim Janik + + * glib/gpattern.c: applied a patch from matthias which checks on the + upper bound of GPatternSpec length to optimize matches. + cosmetic fixups. + + * tests/patterntest.c: added more match cases. + +2005-09-16 Tor Lillqvist + + * glib/gstrfuncs.c (g_ascii_strcasecmp, g_ascii_strncasecmp): Add + warning to doc comment that these functions should not be used on + encodings like CP932. + 2005-09-14 Matthias Clasen * tests/keyfile-test.c: Add a test for grup names of length 1.