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 <adcon...@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 <drep...@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 <drep...@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 <drep...@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, ¶m) == -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, ¶m, 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. -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1v4qfo-0007z4...@vasks.debian.org