[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r5680 - in glibc-package/trunk/debian: . patches/kfreebsd



Author: ps-guest
Date: 2013-08-01 11:03:59 +0000 (Thu, 01 Aug 2013)
New Revision: 5680

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
* kfreebsd/local-sysdeps.diff: update to revision 4839 (from glibc-bsd).



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2013-07-31 21:39:14 UTC (rev 5679)
+++ glibc-package/trunk/debian/changelog	2013-08-01 11:03:59 UTC (rev 5680)
@@ -1,5 +1,7 @@
 eglibc (2.17-92) UNRELEASED; urgency=low
 
+  [ Petr Salinger ]
+  * kfreebsd/local-sysdeps.diff: update to revision 4839 (from glibc-bsd).
   * 
 
  -- Adam Conrad <adconrad@0c3.net>  Wed, 31 Jul 2013 22:38:47 +0100

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2013-07-31 21:39:14 UTC (rev 5679)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2013-08-01 11:03:59 UTC (rev 5680)
@@ -9283,6 +9283,88 @@
 +  return INLINE_SYSCALL(clock_getcpuclockid2, 3, pd->tid, CPUCLOCK_WHICH_TID, clockid);
 +}
 --- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/pthread_getschedparam.c
+@@ -0,0 +1,79 @@
++/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++#include <errno.h>
++#include <string.h>
++#include "pthreadP.h"
++#include <lowlevellock.h>
++
++
++int
++__pthread_getschedparam (threadid, policy, param)
++     pthread_t threadid;
++     int *policy;
++     struct sched_param *param;
++{
++  struct pthread *pd = (struct pthread *) threadid;
++
++  /* Make sure the descriptor is valid.  */
++  if (INVALID_TD_P (pd))
++    /* Not a valid thread handle.  */
++    return ESRCH;
++
++  int result = 0;
++#if 1
++#warning TODO scheduling 
++  *policy = SCHED_OTHER;
++  param->__sched_priority = 0;
++#else
++  
++  lll_lock (pd->lock, LLL_PRIVATE);
++
++  /* The library is responsible for maintaining the values at all
++     times.  If the user uses a interface other than
++     pthread_setschedparam to modify the scheduler setting it is not
++     the library's problem.  In case the descriptor's values have
++     not yet been retrieved do it now.  */
++  if ((pd->flags & ATTR_FLAG_SCHED_SET) == 0)
++    {
++      if (__sched_getparam (pd->tid, &pd->schedparam) != 0)
++	result = 1;
++      else
++	pd->flags |= ATTR_FLAG_SCHED_SET;
++    }
++
++  if ((pd->flags & ATTR_FLAG_POLICY_SET) == 0)
++    {
++      pd->schedpolicy = __sched_getscheduler (pd->tid);
++      if (pd->schedpolicy == -1)
++	result = 1;
++      else
++	pd->flags |= ATTR_FLAG_POLICY_SET;
++    }
++
++  if (result == 0)
++    {
++      *policy = pd->schedpolicy;
++      memcpy (param, &pd->schedparam, sizeof (struct sched_param));
++    }
++
++  lll_unlock (pd->lock, LLL_PRIVATE);
++#endif
++  return result;
++}
++strong_alias (__pthread_getschedparam, pthread_getschedparam)
+--- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/pthread_kill.c
 @@ -0,0 +1,69 @@
 +/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
@@ -9468,6 +9550,160 @@
 +weak_alias (__pthread_once, pthread_once)
 +hidden_def (__pthread_once)
 --- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/pthread_setschedparam.c
+@@ -0,0 +1,78 @@
++/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++#include <errno.h>
++#include <sched.h>
++#include <string.h>
++#include "pthreadP.h"
++#include <lowlevellock.h>
++
++
++int
++__pthread_setschedparam (threadid, policy, param)
++     pthread_t threadid;
++     int policy;
++     const struct sched_param *param;
++{
++  struct pthread *pd = (struct pthread *) threadid;
++
++  /* Make sure the descriptor is valid.  */
++  if (INVALID_TD_P (pd))
++    /* Not a valid thread handle.  */
++    return ESRCH;
++
++#if 1
++#warning TODO scheduling
++  return ENOSYS;
++#else
++  int result = 0;
++
++  lll_lock (pd->lock, LLL_PRIVATE);
++
++  struct sched_param p;
++  const struct sched_param *orig_param = param;
++
++  /* If the thread should have higher priority because of some
++     PTHREAD_PRIO_PROTECT mutexes it holds, adjust the priority.  */
++  if (__builtin_expect (pd->tpp != NULL, 0)
++      && pd->tpp->priomax > param->sched_priority)
++    {
++      p = *param;
++      p.sched_priority = pd->tpp->priomax;
++      param = &p;
++    }
++
++  /* Try to set the scheduler information.  */
++  if (__builtin_expect (__sched_setscheduler (pd->tid, policy,
++					      param) == -1, 0))
++    result = errno;
++  else
++    {
++      /* We succeeded changing the kernel information.  Reflect this
++	 change in the thread descriptor.  */
++      pd->schedpolicy = policy;
++      memcpy (&pd->schedparam, orig_param, sizeof (struct sched_param));
++      pd->flags |= ATTR_FLAG_SCHED_SET | ATTR_FLAG_POLICY_SET;
++    }
++
++  lll_unlock (pd->lock, LLL_PRIVATE);
++
++  return result;
++#endif
++}
++strong_alias (__pthread_setschedparam, pthread_setschedparam)
+--- /dev/null
++++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/pthread_setschedprio.c
+@@ -0,0 +1,70 @@
++/* Copyright (C) 2002-2013 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, see
++   <http://www.gnu.org/licenses/>.  */
++
++#include <errno.h>
++#include <sched.h>
++#include <string.h>
++#include <sched.h>
++#include "pthreadP.h"
++#include <lowlevellock.h>
++
++
++int
++pthread_setschedprio (threadid, prio)
++     pthread_t threadid;
++     int prio;
++{
++  struct pthread *pd = (struct pthread *) threadid;
++
++  /* Make sure the descriptor is valid.  */
++  if (INVALID_TD_P (pd))
++    /* Not a valid thread handle.  */
++    return ESRCH;
++
++#if 1
++#warning TODO scheduling
++  return ENOSYS;
++#else
++  int result = 0;
++  struct sched_param param;
++  param.sched_priority = prio;
++
++  lll_lock (pd->lock, LLL_PRIVATE);
++
++  /* If the thread should have higher priority because of some
++     PTHREAD_PRIO_PROTECT mutexes it holds, adjust the priority.  */
++  if (__builtin_expect (pd->tpp != NULL, 0) && pd->tpp->priomax > prio)
++    param.sched_priority = pd->tpp->priomax;
++
++  /* Try to set the scheduler information.  */
++  if (__builtin_expect (sched_setparam (pd->tid, &param) == -1, 0))
++    result = errno;
++  else
++    {
++      /* We succeeded changing the kernel information.  Reflect this
++	 change in the thread descriptor.  */
++      param.sched_priority = prio;
++      memcpy (&pd->schedparam, &param, sizeof (struct sched_param));
++      pd->flags |= ATTR_FLAG_SCHED_SET;
++    }
++
++  lll_unlock (pd->lock, LLL_PRIVATE);
++
++  return result;
++#endif  
++}
+--- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/fbtl/pthread_sigmask.c
 @@ -0,0 +1,20 @@
 +/* Copyright (C) 2002-2013 Free Software Foundation, Inc.


Reply to: