about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/pthread/createthread.c14
2 files changed, 9 insertions, 10 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index c98d2837d9..d86cb428ab 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2003-08-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/pthread/createthread.c (do_clone): Only use
+	sched_setschduler and pass correct parameters.
+
 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/pthread/pthread.h (pthread_attr_setstackaddr,
diff --git a/nptl/sysdeps/pthread/createthread.c b/nptl/sysdeps/pthread/createthread.c
index 5aa0d89f90..dd5bb5a25b 100644
--- a/nptl/sysdeps/pthread/createthread.c
+++ b/nptl/sysdeps/pthread/createthread.c
@@ -79,17 +79,11 @@ do_clone (struct pthread *pd, const struct pthread_attr *attr,
       /* Set the scheduling parameters.  */
       if ((attr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0)
 	{
-	  res = INTERNAL_SYSCALL (sched_setparam, err, 2, pd->tid,
-				  &pd->schedparam);
+	  res = INTERNAL_SYSCALL (sched_setscheduler, err, 3, pd->tid,
+				  pd->schedpolicy, &pd->schedparam);
 
-	  if (__builtin_expect (! INTERNAL_SYSCALL_ERROR_P (res, err), 1))
-	    {
-	      res = INTERNAL_SYSCALL (sched_setscheduler, err, 2, pd->tid,
-				      &pd->schedpolicy);
-
-	      if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (res, err), 0))
-		goto err_out;
-	    }
+	  if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (res, err), 0))
+	    goto err_out;
 	}
 
       /* Now start the thread for real.  */