From c2d1f9d7206a0c18bda06f5221e4803b0c899249 Mon Sep 17 00:00:00 2001 From: Marco S Hyman Date: Fri, 24 Jan 2003 21:03:16 +0000 Subject: save and restore fp state when switching threads. This, with an arch/i386 patch previously commited and arch/sparc64 patches from jason@ make the preemption_float test pass on those two architectures. Do not run signal handlers for a thread until the thread has been made current, ensuring the proper context. Solves several (if not all) of the '_pq_insert_tail: Already in priority queue' problems. --- lib/libpthread/uthread/pthread_private.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/libpthread/uthread/pthread_private.h') diff --git a/lib/libpthread/uthread/pthread_private.h b/lib/libpthread/uthread/pthread_private.h index 83389b6008b..78d34b82804 100644 --- a/lib/libpthread/uthread/pthread_private.h +++ b/lib/libpthread/uthread/pthread_private.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pthread_private.h,v 1.40 2002/12/11 23:21:19 marc Exp $ */ +/* $OpenBSD: pthread_private.h,v 1.41 2003/01/24 21:03:15 marc Exp $ */ /* * Copyright (c) 1995-1998 John Birrell . * All rights reserved. @@ -1073,7 +1073,7 @@ struct pthread *_get_curthread(void); void _set_curthread(struct pthread *); int _thread_create(pthread_t *, const pthread_attr_t *, void *(*start_routine)(void *), void *,pthread_t); -void _dispatch_signals(pthread_t, struct sigcontext *); +void _dispatch_signals(struct sigcontext *); void _thread_signal(pthread_t, int); int _mutex_cv_lock(pthread_mutex_t *); int _mutex_cv_unlock(pthread_mutex_t *); -- cgit v1.2.3