PERFORCE change 107070 for review

John Birrell jb at FreeBSD.org
Sun Oct 1 21:58:49 PDT 2006


http://perforce.freebsd.org/chv.cgi?CH=107070

Change 107070 by jb at jb_freebsd7 on 2006/10/02 04:57:57

	Catch up with davidxu's libthr changes. This file is a copy of 
	thr_create.c. The name change is required to avoid a clash with
	the syscall of the same name when libthr code is built into libc.

Affected files ...

.. //depot/projects/dtrace/src/lib/libthr/thread/pthread_create.c#2 edit

Differences ...

==== //depot/projects/dtrace/src/lib/libthr/thread/pthread_create.c#2 (text+ko) ====

@@ -24,11 +24,12 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.32 2006/07/13 22:45:19 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.34 2006/09/21 04:21:30 davidxu Exp $
  */
 
 #include "namespace.h"
 #include <sys/types.h>
+#include <sys/rtprio.h>
 #include <sys/signalvar.h>
 #include <errno.h>
 #include <stdlib.h>
@@ -50,7 +51,8 @@
 {
 	struct pthread *curthread, *new_thread;
 	struct thr_param param;
-	struct thr_sched_param sched_param;
+	struct sched_param sched_param;
+	struct rtprio rtp;
 	int ret = 0, locked, create_suspended;
 	sigset_t set, oset;
 
@@ -107,6 +109,7 @@
 	    PTHREAD_CANCEL_DEFERRED;
 	/* Initialize the mutex queue: */
 	TAILQ_INIT(&new_thread->mutexq);
+	TAILQ_INIT(&new_thread->pp_mutexq);
 
 	/* Initialise hooks in the thread structure: */
 	if (new_thread->attr.suspend == THR_CREATE_SUSPENDED) {
@@ -143,12 +146,12 @@
 	if (new_thread->attr.flags & PTHREAD_SCOPE_SYSTEM)
 		param.flags |= THR_SYSTEM_SCOPE;
 	if (new_thread->attr.sched_inherit == PTHREAD_INHERIT_SCHED)
-		param.sched_param = NULL;
+		param.rtp = NULL;
 	else {
-		param.sched_param = &sched_param;
-		param.sched_param_size = sizeof(sched_param);
-		sched_param.policy = new_thread->attr.sched_policy;
-		sched_param.param.sched_priority = new_thread->attr.prio;
+		sched_param.sched_priority = new_thread->attr.prio;
+		_schedparam_to_rtp(new_thread->attr.sched_policy,
+			&sched_param, &rtp);
+		param.rtp = &rtp;
 	}
 
 	/* Schedule the new thread. */


More information about the p4-projects mailing list