mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-05 00:46:16 +01:00
Clean up g_thread_yield implementation
This was the last macro wrapper that was directly accessing the vtable. Make it a regular function, like the rest.
This commit is contained in:
parent
c4a69e784e
commit
0044763a71
@ -1098,6 +1098,7 @@ g_thread_exit
|
||||
g_thread_join
|
||||
g_thread_self
|
||||
g_thread_set_priority
|
||||
g_thread_yield
|
||||
g_static_mutex_free
|
||||
g_static_mutex_get_mutex_impl
|
||||
g_static_mutex_init
|
||||
|
@ -434,7 +434,7 @@ g_thread_create_posix_impl (GThreadFunc thread_func,
|
||||
static void
|
||||
g_thread_yield_posix_impl (void)
|
||||
{
|
||||
POSIX_YIELD_FUNC;
|
||||
sched_yield ();
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -854,17 +854,7 @@ static GThreadFunctions g_thread_functions_for_glib_use_old = {
|
||||
gboolean, gboolean, GThreadPriority,
|
||||
gpointer, GError**))g_thread_fail,
|
||||
|
||||
/**
|
||||
* g_thread_yield:
|
||||
*
|
||||
* Gives way to other threads waiting to be scheduled.
|
||||
*
|
||||
* This function is often used as a method to make busy wait less evil.
|
||||
* But in most cases you will encounter, there are better methods to do
|
||||
* that. So in general you shouldn't use this function.
|
||||
**/
|
||||
NULL,
|
||||
|
||||
NULL, /* thread_yield */
|
||||
NULL, /* thread_join */
|
||||
NULL, /* thread_exit */
|
||||
NULL, /* thread_set_priority */
|
||||
@ -2169,6 +2159,21 @@ g_thread_self (void)
|
||||
return (GThread*)thread;
|
||||
}
|
||||
|
||||
/**
|
||||
* g_thread_yield:
|
||||
*
|
||||
* Gives way to other threads waiting to be scheduled.
|
||||
*
|
||||
* This function is often used as a method to make busy wait less evil.
|
||||
* But in most cases you will encounter, there are better methods to do
|
||||
* that. So in general you shouldn't use this function.
|
||||
*/
|
||||
void
|
||||
g_thread_yield (void)
|
||||
{
|
||||
G_THREAD_UF (thread_yield, ());
|
||||
}
|
||||
|
||||
/* GStaticRWLock {{{1 ----------------------------------------------------- */
|
||||
|
||||
/**
|
||||
|
@ -187,7 +187,6 @@ GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
|
||||
#else
|
||||
#define g_thread_supported() (g_threads_got_initialized)
|
||||
#endif
|
||||
#define g_thread_yield() G_THREAD_CF (thread_yield, (void)0, ())
|
||||
|
||||
#define g_thread_create(func, data, joinable, error) \
|
||||
(g_thread_create_full (func, data, 0, joinable, FALSE, \
|
||||
@ -203,6 +202,7 @@ GThread* g_thread_create_full (GThreadFunc func,
|
||||
GThread* g_thread_self (void);
|
||||
void g_thread_exit (gpointer retval);
|
||||
gpointer g_thread_join (GThread *thread);
|
||||
void g_thread_yield (void);
|
||||
|
||||
void g_thread_set_priority (GThread *thread,
|
||||
GThreadPriority priority);
|
||||
|
Loading…
Reference in New Issue
Block a user