summaryrefslogtreecommitdiff
path: root/emu/port/kproc-pthreads.c
diff options
context:
space:
mode:
authorKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-04 18:16:59 +0300
committerKonstantin Kirik (snegovick) <snegovick@uprojects.org>2025-12-04 18:16:59 +0300
commitaf3987f8d4ec692e102f5a376657651f2d698616 (patch)
tree35efae2cd535d09b3aa1c2a73c87f45b2cfecb1c /emu/port/kproc-pthreads.c
parent1a3771fdc715137dd3455d9ab59632740d90252e (diff)
Replace pthread_yield with sched_yield
Diffstat (limited to 'emu/port/kproc-pthreads.c')
-rw-r--r--emu/port/kproc-pthreads.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/emu/port/kproc-pthreads.c b/emu/port/kproc-pthreads.c
index a15a7cd3..f557a4c2 100644
--- a/emu/port/kproc-pthreads.c
+++ b/emu/port/kproc-pthreads.c
@@ -8,6 +8,7 @@
#include <unistd.h>
#include <signal.h>
#include <pthread.h>
+#include <sched.h>
#include <limits.h>
#include <errno.h>
#include <semaphore.h>
@@ -89,14 +90,14 @@ tramp(void *arg)
os->self = pthread_self();
if(pthread_setspecific(prdakey, arg))
panic("set specific data failed in tramp\n");
- if(0){
- pthread_attr_t attr;
- memset(&attr, 0, sizeof(attr));
- pthread_getattr_np(pthread_self(), &attr);
- size_t s;
- pthread_attr_getstacksize(&attr, &s);
- print("stack size = %d\n", s);
- }
+ /* if(0){ */
+ /* pthread_attr_t attr; */
+ /* memset(&attr, 0, sizeof(attr)); */
+ /* pthread_getattr_np(pthread_self(), &attr); */
+ /* size_t s; */
+ /* pthread_attr_getstacksize(&attr, &s); */
+ /* print("stack size = %d\n", s); */
+ /* } */
p->func(p->arg);
pexit("{Tramp}", 0);
return nil;
@@ -218,7 +219,8 @@ osyield(void)
{
// pthread_yield_np();
/* define pthread_yield to be sched_yield or pthread_yield_np if required */
- pthread_yield();
+ //pthread_yield();
+ sched_yield();
}
void