summaryrefslogtreecommitdiff
path: root/glib/gthread.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix warnings from sparse. (#487491, Kjartan Maraas)Behdad Esfahbod2007-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | 2007-10-21 Behdad Esfahbod <behdad@gnome.org> * glib/gdate.c (g_date_strftime): * glib/gmain.c (g_main_context_check): * glib/gregex.c (g_match_info_fetch_all), (g_regex_split_full): * glib/gthread.c (g_once_init_enter_impl), (g_once_init_leave): * glib/gthread.h: * glib/gutf8.c (g_utf16_to_utf8), (g_utf16_to_ucs4): * tests/errorcheck-mutex-test.c (lock_locked_mutex), (trylock_locked_mutex), (unlock_unlocked_mutex), (free_locked_mutex), (wait_on_unlocked_mutex), (wait_on_otherwise_locked_mutex), (timed_wait_on_unlocked_mutex), (timed_wait_on_otherwise_locked_mutex): Fix warnings from sparse. (#487491, Kjartan Maraas) svn path=/trunk/; revision=5792
* prevent race covered by g_once_init_enter(), by checking for previousTim Janik2007-08-141-10/+11
| | | | | | | | | | | | | | | Tue Aug 14 02:06:10 2007 Tim Janik <timj@imendio.com> * glib/gthread.c (g_once_init_enter_impl): prevent race covered by g_once_init_enter(), by checking for previous initializations before entering initialisation branch. * tests/onceinit.c: added multi-thread/multi-initializer stress test using unoptimized g_once_init_enter_impl(). svn path=/trunk/; revision=5701
* prevent linking a freed GThread structure into global thread list in errorTim Janik2007-08-131-3/+6
| | | | | | | | | | | Mon Aug 13 14:18:22 2007 Tim Janik <timj@imendio.com> * glib/gthread.c (g_thread_create_full): prevent linking a freed GThread structure into global thread list in error cases. svn path=/trunk/; revision=5697
* more atomic ops pointer cast fixes. this time it'll work with atomic opTim Janik2007-07-121-3/+3
| | | | | | | | | | | Fri Jul 13 01:01:46 2007 Tim Janik <timj@imendio.com> * glib/gthread.[hc]: more atomic ops pointer cast fixes. this time it'll work with atomic op macros *and* atomic op functions. svn path=/trunk/; revision=5638
* fixed missing pointer casts when using atomic ops.Tim Janik2007-07-121-3/+3
| | | | | | | | | | Fri Jul 13 00:50:40 2007 Tim Janik <timj@imendio.com> * glib/gthread.[hc]: fixed missing pointer casts when using atomic ops. svn path=/trunk/; revision=5637
* implemented g_once_init_enter(), g_once_init_enter_impl() andTim Janik2007-07-101-0/+40
| | | | | | | | | | | | | | Tue Jul 10 12:24:35 2007 Tim Janik <timj@imendio.com> * glib/gthread.[hc]: implemented g_once_init_enter(), g_once_init_enter_impl() and g_once_init_leave(), based on a patch by Antoine Tremblay, fixes #65041. adapted exported inline function mechanism from gutils.[hc] for inlining g_once_init_enter_impl() in gthread.[hc]. svn path=/trunk/; revision=5616
* Extended the comments on those functions, that are NOOPs, beforeSebastian Wilhelmi2007-06-151-1/+4
| | | | | | | | | | | | | | | 2007-06-15 Sebastian Wilhelmi <wilhelmi@google.com> * docs/reference/glib/tmpl/threads.sgml: Extended the comments on those functions, that are NOOPs, before g_thread_init() has been called. (#447583) * glib/gthread.c (g_static_mutex_free): Clarified comment to remind myself, tha calling g_static_mutex_free() before g_thread_init() is safe. svn path=/trunk/; revision=5567
* Revert an accidental ABI break by moving gettime out of theMatthias Clasen2007-01-161-3/+4
| | | | | | | | | | | | | | | | 2007-01-16 Matthias Clasen <mclasen@redhat.com> * glib/gthread.h: * glib/gthread.c: * glib/glib.symbols: Revert an accidental ABI break by moving gettime out of the GThreadFunctions struct and making it a separate variable. (#397139, Joe Marcus Clarke) * gthread/*.c: Adapt. svn path=/trunk/; revision=5279
* glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s ofTor Lillqvist2007-01-161-0/+5
| | | | | | | | | | | | | 2007-01-16 Tor Lillqvist <tml@novell.com> * glib/gthread.c (gettime) * gthread-win32.c (g_gettime_win32_impl): GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601, so offset to Unix epoch (1970) and multiply by 100 to get nanoseconds which is what we want. svn path=/trunk/; revision=5277
* glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s ofTor Lillqvist2007-01-161-0/+1
| | | | | | | | | | | | 2007-01-16 Tor Lillqvist <tml@novell.com> * glib/gthread.c (gettime) * gthread-win32.c (g_gettime_win32_impl): GetSystemTimeAsFileTime() returns 100s of nanoseconds, so multiply by 100 to get nanoseconds which is what we want. svn path=/trunk/; revision=5276
* Correct the gettime calculations once more. (#395203, Chris Wilson)Matthias Clasen2007-01-151-1/+3
| | | | | | | | | | | | 2005-01-15 Matthias Clasen <mclasen@redhat.com> * glib/gthread.c: * gthread/gthread-posix.c: Correct the gettime calculations once more. (#395203, Chris Wilson) svn path=/trunk/; revision=5262
* fix stupid thinkoMatthias Clasen2007-01-121-1/+2
| | | | svn path=/trunk/; revision=5252
* Include windows.h and fix include order. (#394258, Kazuki Iwamoto)Matthias Clasen2007-01-121-2/+4
| | | | | | | | | | | 2007-01-12 Matthias Clasen <mclasen@redhat.com> * glib/gthread.c: Include windows.h and fix include order. (#394258, Kazuki Iwamoto) svn path=/trunk/; revision=5249
* Fix errors in the recently moved time calculations. (#395203, ChrisMatthias Clasen2007-01-121-1/+1
| | | | | | | | | | | | | 2007-01-12 Matthias Clasen <mclasen@redhat.com> * gthread/gthread-posix.c: * glib/gtimer.c: * glib/gthread.c: Fix errors in the recently moved time calculations. (#395203, Chris Wilson) svn path=/trunk/; revision=5244
* Don't link glib against libpthread. (#393812)Matthias Clasen2007-01-081-3/+29
| | | | | | | | | | | | | | | | | | | | | 2007-01-07 Matthias Clasen <mclasen@redhat.com> Don't link glib against libpthread. (#393812) * configure.in: Link gthread against librt, not glib itself. * glib/gthread.h: * glib/gthread.c: Add a new thread function, gettime. * glib/gtimer.c: Use gettime instead of directly working with the various system interfaces. * gthread/gthread-impl.c: * gthread/gthread-posix.c: * gthread/gthread-win32.c: Implement gettime. svn path=/trunk/; revision=5227
* Run _g_atomic_thread_init as the first of the full fledged initializers toSebastian Wilhelmi2006-05-231-1/+1
| | | | | | | | | 2006-05-22 Sebastian Wilhelmi <wilhelmi@google.com> * glib/gthread.c (g_thread_init_glib): Run _g_atomic_thread_init as the first of the full fledged initializers to allow the later to potentially use atomic ints (which they currently do not). (#342563, Peter Kjellerstedt)
* Use g_atomic_pointer_set instead of old homegrown version now that we haveSebastian Wilhelmi2006-05-111-74/+65
| | | | | | | 2006-05-10 Sebastian Wilhelmi <wilhelmi@google.com> * glib/gthread.c: Use g_atomic_pointer_set instead of old homegrown version now that we have it. (#335198, Chris Wilson)
* Renamed to glib/gthreadprivate.h and moved system thread identifierSebastian Wilhelmi2006-05-101-18/+1
| | | | | | | | | | | | | | | | | 2006-05-09 Sebastian Wilhelmi <wilhelmi@google.com> * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved system thread identifier comparision and assignment macros from glib/gthread.c to glib/gthreadprivate.h. * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c, glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c, glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use glib/gthreadprivate.h instead of glib/gthreadinit.h. * gthread/gthread-impl.c: Use GSystemThread instead of GThread for owner determination. This fixes #311043 and is mostly modeled after the patch from jylefort@FreeBSD.org.
* Move short_month_names and long_month_names to bss.Matthias Clasen2006-04-041-4/+1
| | | | | | | | | | | | | | | | | | | | | | 2006-04-04 Matthias Clasen <mclasen@redhat.com> * glib/gdate.c: Move short_month_names and long_month_names to bss. * glib/gspawn-win32.c (g_spawn_error_quark): * glib/gspawn.c (g_spawn_error_quark): * glib/gshell.c (g_shell_error_quark): * glib/gmarkup.c (g_markup_error_quark): * glib/goption.c (g_option_error_quark): * glib/gkeyfile.c (g_key_file_error_quark): * glib/giochannel.c (g_io_channel_error_quark): * glib/gfileutils.c (g_file_error_quark): * glib/gconvert.c (g_convert_error_quark): * glib/gbookmarkfile.c (g_bookmark_file_error_quark): * glib/gthread.c (g_thread_error_quark): No point in making the error path fast by caching quarks. * glib/gbookmarkfile.c: Make the parser struct const.
* new slice allocator implementation.Tim Janik2005-12-011-35/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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].
* Silence compiler warnings.Matthias Clasen2005-11-281-2/+2
| | | | | | | | | | | 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.
* UpdatesMatthias Clasen2005-11-171-1/+5
| | | | | | | | | | 2005-11-17 Matthias Clasen <mclasen@redhat.com> * NEWS: Updates * glib/gthread.c (g_thread_foreach): Mark as new api. * README.in: Updates.
* const correctness fixes, found by Arjan van de Ven and gcc.Matthias Clasen2005-11-171-3/+3
| | | | | | | | | 2005-11-17 Matthias Clasen <mclasen@redhat.com> * glib/gbacktrace.c: * glib/gdate.c: * glib/gthread.c: const correctness fixes, found by Arjan van de Ven and gcc.
* prepared deprecation of GMemChunk and GAllocator. added g_slice_*() API toTim Janik2005-11-011-12/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Nov 1 16:24:20 2005 Tim Janik <timj@imendio.com> * 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.
* Don't lock if depth is zero. (#310148, Wim Taymans)Matthias Clasen2005-07-121-0/+3
| | | | | | | 2005-07-12 Matthias Clasen <mclasen@redhat.com> * glib/gthread.c (g_static_rec_mutex_lock_full): Don't lock if depth is zero. (#310148, Wim Taymans)
* Make PLT-reduction work with gcc4, and don't include everything inMatthias Clasen2005-03-141-1/+4
| | | | | | | | | | | | | | | | | 2005-03-13 Matthias Clasen <mclasen@redhat.com> Make PLT-reduction work with gcc4, and don't include everything in galias.h: * glib/glib.symbols: Group symbols by header and source file. * glib/makegalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegalias.pl -def * glib/Makefile.am (galiasdef.c): Add a rule to generate this file. * glib/*.c: Include galias.h after the other GLib headers, include galiasdef.c at the bottom.
* Update the returned value after locale changes. (#160271, ChristianMatthias Clasen2004-12-071-0/+1
| | | | | | | | | | | | | 2004-12-07 Matthias Clasen <mclasen@redhat.com> * glib/gutils.c (g_get_language_names): Update the returned value after locale changes. (#160271, Christian Persch) (_g_utils_thread_init): Initialize the language name cache before going threaded. * glib/gthread.c (g_thread_init_glib): Call _g_utils_thread_init(). * glib/gthreadinit.h: Add _g_utils_thread_init().
* Make the last change compile.Matthias Clasen2004-10-261-1/+3
|
* Make this function thread-safe in the GLib style.Matthias Clasen2004-10-261-0/+1
| | | | | | | | | | | | 2004-10-26 Matthias Clasen <mclasen@redhat.com> * glib/gwin32.c (g_win32_get_windows_version): Make this function thread-safe in the GLib style. * glib/gthreadinit.h: * glib/gwin32.c (_g_win32_thread_init): New function to initialize the version. * glib/gthread.c (g_thread_init_glib): Call _g_win32_thread_init() from here.
* Implement the same PLT reduction technique used in GTK+:Matthias Clasen2004-09-161-0/+1
| | | | | | Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de> Implement the same PLT reduction technique used in GTK+:
* glib/giowin32.c glib/gmain.c glib/gstrfuncs.c Decorating variableTor Lillqvist2004-04-101-3/+0
| | | | | | | | | | | | | | | | | 2004-04-10 Tor Lillqvist <tml@iki.fi> * glib/giowin32.c * glib/gmain.c * glib/gstrfuncs.c * glib/gthread.c: Decorating variable definitions with __declspec(dllexport) causes problems on Cygwin build, and isn't really needed for a native Win32 build with mingw or MSVC, so remove. (#138402, Roger Leigh) * glib/libcharset/localcharset.c: Use Win32-specific code also on Cygwin. * tests/uri-test.c: Don't assume that local filenames are in UTF-8 on Cygwin, either. (#138412, Roger Leigh)
* Patch by Sebastian Wilhemi to fix infinite recursion in g_atomic.Matthias Clasen2004-03-051-1/+2
|
* Removed the PID niceness surrogate for thread priorities as requested bySebastian Wilhelmi2004-02-261-56/+2
| | | | | | | | | | | 2004-02-26 Sebastian Wilhelmi <seppi@seppi.de> * configure.in, config.h.win32.in, glib/gthread.c: Removed the PID niceness surrogate for thread priorities as requested by Tim. It does more harm than good. * glib/tmpl/threads.sgml: Updated to reflect removal of the PID niceness surrogate for thread priorities.
* For the PID thread priorities surrogate use gettid instead of getpid. ThisSebastian Wilhelmi2004-02-251-8/+10
| | | | | | | | 2004-02-25 Sebastian Wilhelmi <seppi@seppi.de> * configure.in, glib/gthread.c: For the PID thread priorities surrogate use gettid instead of getpid. This also works with nptl (on linux-2.6), as well as with linuxthreads (on linux-2.4).
* Support for one-time initialization functions. (#69668, SebastianMatthias Clasen2003-07-081-7/+45
| | | | | | | | | | | | | 2003-07-09 Matthias Clasen <maclas@gmx.de> Support for one-time initialization functions. (#69668, Sebastian Wilhelmi) * configure.in: Check whether double checked locking is safe, define g_once() in glibconfig.h accordingly. * glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl. * glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked locking is unsafe. * tests/thread-test.c: Add tests for g_once().
* Do not define function g_thread_init_glib, if not G_THREADS_ENABLED. It'sSebastian Wilhelmi2003-03-141-0/+2
| | | | | | | | 2003-03-14 Sebastian Wilhelmi <seppi@seppi.de> * glib/gthread.c: Do not define function g_thread_init_glib, if not G_THREADS_ENABLED. It's not called bu g_thread_init() then, but calls other, in that case undefined functions.
* Fixes for #101264 and #99372:Sebastian Wilhelmi2003-02-141-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-14 Sebastian Wilhelmi <seppi@seppi.de> Fixes for #101264 and #99372: * glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c, glib/grand.c: Include gthreadinit.h and rename the thread initialization functions a bit and let them start with _, so that later we can stop exporting them. * glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to new functions. They have to be called after setting g_threads_got_initialized to TRUE (see #101264). * glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to g_thread_init_glib(). Call the thread initialization functions (which are not allowed to call g_private_new), then set g_threads_got_initialized to TRUE, then call the other thread initialization functions (which must not call anything but g_private_new()). * glib/gthreadinit.h: New private header to cleanly declare all thread initialization functions. * gthread/gthread-impl.c: Include gthreadinit.h. In g_thread_init() just call g_thread_init_glib(), which in turn calls the other functions (see #99372). * glib/Makefile.am: Added gthreadinit.h.
* Mark the contents of the strucures in this file /*< private >*/Owen Taylor2002-12-151-7/+7
| | | | | | | | | | | Sat Dec 14 21:10:57 2002 Owen Taylor <otaylor@redhat.com> * glib/gthread.h: Mark the contents of the strucures in this file /*< private >*/ * glib/gthread.[ch]: Rename the 'write' field of the structure to 'have_writer' to avoid any possible conflict with system headers. (#90549, Morten Welinder)
* Patch from Sven Neumann to make the include order consistent. (#71704)Owen Taylor2002-12-041-1/+3
| | | | | | | Tue Dec 3 20:22:27 2002 Owen Taylor <otaylor@redhat.com> * glib/*.c: Patch from Sven Neumann to make the include order consistent. (#71704)
* Set the normal PID surrogate priority according to getpid() to avoidSebastian Wilhelmi2002-08-061-1/+12
| | | | | | | | | | | | | 2002-08-06 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/gthread.c: Set the normal PID surrogate priority according to getpid() to avoid errors for niced processes. (#86116) * gthread/gthread-impl.c, gthread/gthread-posix.c, gthread/gthread-solaris.c: Do the same for the posix/dce implementation. Solaris still needs to set priority of the main thread, because all unbound threads will schedule according to that value and it defaults to 0 (the minimal value).
* Delay allocation until after all g_return_val_if_fail ().Sebastian Wilhelmi2002-02-041-2/+4
| | | | | | | | | | | | | 2002-02-04 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/gthread.c (g_thread_create_full): Delay allocation until after all g_return_val_if_fail (). * glib/gthread.h: Make depth member guint for cosmetic reasons. * glib/gthread.c: (g_static_rec_mutex_unlock_full): depth should be unsigned. All that spotted by Jörgen Viksell <jorgen.viksell@telia.com>
* Add thread_equal function to allow for platform defined function toSebastian Wilhelmi2001-09-191-6/+11
| | | | | | | | | | | | | | | | | 2001-09-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/gthread.h (GThreadFunctions): Add thread_equal function to allow for platform defined function to compare two threads. * glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal when non-NULL instead of ==. * gthread/gthread-posix.c: Add g_thread_equal_posix_impl and add to the function vector g_thread_functions_for_glib_use_default. * gthread/gthread-solaris.c, gthread/gthread-win32.c: Add NULL as equal function, as on those two platforms you don't need an equal function.
* Add 'want_to_read' to GStaticRWLock to avoid calling g_cond_broadcast,Sebastian Wilhelmi2001-08-301-1/+3
| | | | | | | | 2001-08-30 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/gthread.h, glib/gthread.c: Add 'want_to_read' to GStaticRWLock to avoid calling g_cond_broadcast, when no one is waiting.
* Make some changes to the way that GMainContext works:Owen Taylor2001-06-301-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sat Jun 30 15:49:10 2001 Owen Taylor <otaylor@redhat.com> * glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi) Make some changes to the way that GMainContext works: - a GMainContext is no longer associated with a single thread, but any thread can acquire ownership of thread and iterate. - There is a facility g_main_context_wait() for non-owner-threads to wait either for ownership or for a condition to be broadcast. - For efficiency, GMainLoop just piggybacks of of the loops mutex / condition instead of having a separate mutex/condition for each GMainLoop. * glib/gthread.[ch]: Remove hacks to store the thread's GMainContext in the GThread structures, since we no longer have the GMainContext <=> GThread correspondence. * glib/gmain.[ch]: Make g_main_context_wakeup() public so someone could completely duplicate GMainLoop with the public API. * tests/mainloop-test: Fix up to the new API. Decidedly doesn't work at the moment, but that may be the IO channel changes, or preexisting locking problems.
* g_thread_create renamed to g_thread_create_full.Sebastian Wilhelmi2001-05-221-3/+3
| | | | | | | | | | | | 2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib.def: g_thread_create renamed to g_thread_create_full. * gthread.c: memcpy is not necessary here. We can simply use struct assignment. * gmessages.c: Fix compilation error on win32. Added GFileDescriptor, wich is gint on Unix and FILE* on win32.
* Renamed g_thread_create to g_thread_create_full and added macroSebastian Wilhelmi2001-05-181-9/+7
| | | | | | | | | | | | | | | | | 2001-05-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gthread.c, gthread.h: Renamed g_thread_create to g_thread_create_full and added macro g_thread_create, which omits 'stack_size', 'bound' and 'priority' parameters. Also removed 'bound' from GThread struct. * gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above changes. GThreadPool lost the 'priority' and 'bound' members. g_thread_pool_new the 'stack_size', 'bound' and 'priority' parameters. * tests/mainloop-test.c, tests/thread-test.c, tests/threadpool-test.c: Adapted to the above changes.
* Renamed 'value' and 'arg' to 'data' and 'thread_func' to 'func' to make itSebastian Wilhelmi2001-05-091-7/+7
| | | | | | | | | | | | | 2001-05-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and 'thread_func' to 'func' to make it more consistent with the rest of GLib. * gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public members of GThreadPool to the private ones. Renamed 'thread_func' to 'func' as above. Moved up 'user_data' in g_thead_pool_new argument list and in GThreadPool struct.
* Moved func and arg members from GRealThread to GThread, such that they canSebastian Wilhelmi2001-05-081-16/+30
| | | | | | | | | | | | | | | | 2001-05-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gmain.c, gthread.c, gthread.h: Moved func and arg members from GRealThread to GThread, such that they can be accessed by the user. * gthread.c, gthread.h: Due to popular demand (Tim being the populus here ;-) threads now have a 'return value', which is returned by g_thread_join and is either the return of the topmost thread function or the value given to g_thread_exit. * gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c: Adapted to the above change.
* Use the new GRealThread member "context" instead of a GStaticPrivate toSebastian Wilhelmi2001-04-021-37/+40
| | | | | | | | | | | | | | 2001-04-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gmain.c: Use the new GRealThread member "context" instead of a GStaticPrivate to store the thread specific main loop context. * gthread.c: Added "context" member to GRealThread and updated g_thread_create, g_thread_self and g_thread_cleanup accordingly. * gthread.c, gthread.h: Removed the functions g_static_private_(get|set)_for_thread and adapted g_static_private_(get|set) and g_static_private_free accordingly.
* Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.Tor Lillqvist2001-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-21 Tor Lillqvist <tml@iki.fi> Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>. Hopefully I got it all in while simultaneously adding support for auto*/libtool for mingw. * Makefile.am: Changes for auto* support on Cygwin and Win32. Do still distribute the hand-written makefiles and *.win32.in files, though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure. Use -no-undefined. Pass -export-symbols glib.def to libtool. * configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw) and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL calls for Cygwin and mingw support. Check for %I64u guint64 format (in MS C library). Set G_MODULE_IMPL on mingw and Cygwin. Use ac_object and ac_exeext. Set GIO, GSPAWN, PLATFORMDEP and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32 automake conditional on Win32. * glib.h: Include gwin32.h also on Cygwin. * gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on Unix) for Cygwin's sake. * gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME(). * gconvert.c * gthread.c * gutf8.c * gutils.c: For code needed both on Cygwin and native Win32, test for G_PLATFORM_WIN32. * gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS. * gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT in case compiling a static library on Win32 or Cygwin. * gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or dirent emulation on Cygwin. (get_package_directory_from_module) Convert return value from GetModuleFileName() to POSIX path on Cygwin. * tests/Makefile.am (progs_LDADD): Link with libglib, libgthread and libgmodule as appropriate. Use -no-undefined. * gbacktrace.c: Move #ifdefs around a bit on Win32. * gshell.c (unquote_string_inplace): Make static.