Age | Commit message (Collapse) | Author | Files | Lines |
|
The documentation for G_TYPE_CHAR says:
"The type designated by G_TYPE_CHAR is unconditionally an 8-bit signed
integer."
However the return value for g_value_get_char() was just "char" which
in C has an unspecified signedness; on e.g. x86 it's signed (which
matches the GType), but on e.g. PowerPC or ARM, it's not.
We can't break the old API, so we need to suck it up and add new API.
Port most internal users, but keep some tests of the old API too.
https://bugzilla.gnome.org/show_bug.cgi?id=659870
|
|
In particular this has a test case for a G_TYPE_ENUM which we were
running into a failure on ppc64.
https://bugzilla.gnome.org/show_bug.cgi?id=659881
|
|
...not deprecated sources
|
|
We use gpointer for convience of the C API users, but introspection
users will not like it.
https://bugzilla.gnome.org/show_bug.cgi?id=659838
|
|
|
|
Marking things as deprecated, mostly.
|
|
These are supposedly better on multi-cpu systems - and who doesn't
have multiple cpus nowadays. One single-processor systems, they
are identical to normal mutexes.
See e.g. http://bugzilla.mozilla.org/show_bug.cgi?id=132089
https://bugzilla.gnome.org/show_bug.cgi?id=659423
|
|
We have a GDateTime test that compares the time now (as per the libc) to
the time now (as per GDateTime). The problem is that the time could
change between those two "now"s.
|
|
GPrivate always works, so use it normally at all times.
|
|
At Tracker we want to mmap files using O_NOATIME. With GMappedFile this is at
the moment impossible. For that reason I added the constructor new_from_fd to
the GMappedFile type.
https://bugzilla.gnome.org/show_bug.cgi?id=659754
|
|
The new versions use the primatives of the OS directly and don't have an
annoying ABI.
|
|
|
|
|
|
This is implemented using the native facilities of each platform instead
of manually.
|
|
|
|
|
|
|
|
Make another do-nothing change to the SRWLock emulation.
|
|
Our SRWLock is about to become a real reader/writer lock, so rename an
instance variable to prepare for that.
|
|
These are no longer relevent since the possibility of a thread-disabled
GLib disappeared.
|
|
This reverts commit c7f9cd17d446938aaf4126e0753302676f66fd22.
The old macros in gthread.h used this variable, so it must remain in
place to keep ABI compatibility.
|
|
|
|
|
|
|
|
|
|
GThreadFunctions is about to disappear.
|
|
|
|
Replace it with g_thread_create_with_stack_size() and a real function
implementation of g_thread_create().
Modify a testcase that was calling g_thread_create_full()
inappropriately (it was using the default values anyway).
|
|
This is now unused.
|
|
The 'bound' and 'priority' arguments are no longer in use, so drop them.
|
|
This was ignored on Windows. On POSIX, where supported, it controlled
if we ended up with a proper system thread or a user-mode thread. Linux
did not support this.
|
|
|
|
This has been unused for a while and it should definitely go away now
that g_thread_functions_for_glib_use is back in gthread.c.
|
|
Move the now-identical copies of g_thread_functions_for_glib_use from
gthread-{posix,win32}.c back into gthread.c.
|
|
We're finally free of these. Drop them.
|
|
These were never used from gthread.h and are no longer used from
gthread.c.
|
|
Switch 'self' 'join' and 'create' from using the vtable to being called
via normal g_system_thread_* internal API (implemented in each of
gthread-{posix,win32}.c).
Again, we can put NULL in the vtable since these were never used from
gthread.h.
|
|
Thread priorities were already documented as not working on Solaris, and
they are meaningless on Linux unless the process separately requests
realtime scheduling (and even then, it appears only to work as root).
We can safely put a NULL into the vtable for set_priority since nothing
outside of gthread.c ever calls this (and that call is gone).
|
|
Instead, just have the backends implement an internal function
named g_system_thread_exit.
|
|
Just move the g_system_thread_equal implementation into
the posix and win32 implementations, and drop some micro macro
optimization.
|
|
The "unknown reason" that the native thread implementation was broken is
because functions in kernel32.dll are (obviously) following Microsoft's
__stdcall ABI, not the GCC ABI.
Change our function pointers to be __stdcall pointers and change our
emulated implementation to match.
|
|
We no longer call g_private_new() from anywhere in GLib, so we can use
gslice instead of malloc().
|
|
|
|
|
|
The implementations for posix and win32 were identical, so
move it to gthread.c, to go with g_mutex_new() and g_cond_new().
|
|
Move the docs of functions to the actual functions. Also add
docs for some new apis.
|
|
This was the last macro wrapper that was directly accessing the
vtable. Make it a regular function, like the rest.
|
|
|
|
|
|
A pair of macros to define a constructor function (on compilers that
support such a concept) and to ensure that the function is run exactly
once (on compilers that lack such support).
Presently only GCC is implemented.
|