]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - nptl/pthread_attr_setstacksize.c
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / nptl / pthread_attr_setstacksize.c
index f84a9f68e3b38d8b9a45cf74f2575b110f2e79d6..a0cda0cbce522230574744a91d5b18b7d1b2502a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2015 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
    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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include <assert.h>
 #include <errno.h>
 #include <limits.h>
 #include "pthreadP.h"
 
+#ifndef NEW_VERNUM
+# define NEW_VERNUM GLIBC_2_3_3
+#endif
+
 
 int
 __pthread_attr_setstacksize (attr, stacksize)
@@ -34,8 +37,9 @@ __pthread_attr_setstacksize (attr, stacksize)
   iattr = (struct pthread_attr *) attr;
 
   /* Catch invalid sizes.  */
-  if (stacksize < PTHREAD_STACK_MIN)
-    return EINVAL;
+  int ret = check_stacksize_attr (stacksize);
+  if (ret)
+    return ret;
 
   iattr->stacksize = stacksize;
 
@@ -47,9 +51,9 @@ strong_alias (__pthread_attr_setstacksize, pthread_attr_setstacksize)
 #else
 # include <shlib-compat.h>
 versioned_symbol (libpthread, __pthread_attr_setstacksize,
-                 pthread_attr_setstacksize, GLIBC_2_3_3);
+                 pthread_attr_setstacksize, NEW_VERNUM);
 
-# if SHLIB_COMPAT(libpthread, GLIBC_2_1, GLIBC_2_3_3)
+# if SHLIB_COMPAT(libpthread, GLIBC_2_1, NEW_VERNUM)
 
 int
 __old_pthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize)
@@ -63,6 +67,10 @@ __old_pthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize)
   if (stacksize < 16384)
     return EINVAL;
 
+#  ifdef STACKSIZE_ADJUST
+  STACKSIZE_ADJUST;
+#  endif
+
   iattr->stacksize = stacksize;
 
   return 0;