mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-14 00:06:24 +01:00
Merge branch 'mcatanzaro/#2769' into 'main'
Failure to set thread scheduler settings should be fatal Closes #2769 See merge request GNOME/glib!3121
This commit is contained in:
commit
a4c33bd621
@ -1248,7 +1248,6 @@ static void *
|
|||||||
linux_pthread_proxy (void *data)
|
linux_pthread_proxy (void *data)
|
||||||
{
|
{
|
||||||
GThreadPosix *thread = data;
|
GThreadPosix *thread = data;
|
||||||
static gboolean printed_scheduler_warning = FALSE; /* (atomic) */
|
|
||||||
|
|
||||||
/* Set scheduler settings first if requested */
|
/* Set scheduler settings first if requested */
|
||||||
if (thread->scheduler_settings)
|
if (thread->scheduler_settings)
|
||||||
@ -1261,10 +1260,8 @@ linux_pthread_proxy (void *data)
|
|||||||
tid = (pid_t) syscall (SYS_gettid);
|
tid = (pid_t) syscall (SYS_gettid);
|
||||||
res = syscall (SYS_sched_setattr, tid, thread->scheduler_settings->attr, flags);
|
res = syscall (SYS_sched_setattr, tid, thread->scheduler_settings->attr, flags);
|
||||||
errsv = errno;
|
errsv = errno;
|
||||||
if (res == -1 && g_atomic_int_compare_and_exchange (&printed_scheduler_warning, FALSE, TRUE))
|
if (res == -1)
|
||||||
g_critical ("Failed to set scheduler settings: %s", g_strerror (errsv));
|
g_error ("Failed to set scheduler settings: %s", g_strerror (errsv));
|
||||||
else if (res == -1)
|
|
||||||
g_debug ("Failed to set scheduler settings: %s", g_strerror (errsv));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return thread->proxy (data);
|
return thread->proxy (data);
|
||||||
|
Loading…
Reference in New Issue
Block a user