Set setns system call
authorUlrich Drepper <drepper@gmail.com>
Sat, 28 May 2011 04:53:13 +0000 (00:53 -0400)
committerUlrich Drepper <drepper@gmail.com>
Sat, 28 May 2011 04:53:13 +0000 (00:53 -0400)
ChangeLog
NEWS
sysdeps/unix/sysv/linux/Versions
sysdeps/unix/sysv/linux/bits/sched.h
sysdeps/unix/sysv/linux/syscalls.list

index 5e52617..e3d4ef7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-28  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/unix/sysv/linux/syscalls.list: Add setns entry.
+       * sysdeps/unix/sysv/linux/bits/sched.h: Declare setns.
+       * sysdeps/unix/sysv/linux/Versions [GLIBC_2.14]: Add setns.
+
 2011-05-27  Ulrich Drepper  <drepper@gmail.com>
 
        [BZ #12813]
diff --git a/NEWS b/NEWS
index d899685..90470d3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -30,7 +30,7 @@ Version 2.14
   Implemented by Ulrich Drepper.
 
 * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
-  syncfs
+  syncfs, setns
 
 * New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH,
   yue_HK, lij_IT, mhr_RU
index 29099dc..984bc4f 100644 (file)
@@ -158,6 +158,8 @@ libc {
     clock_adjtime;
 
     name_to_handle_at; open_by_handle_at;
+
+    setns;
   }
   GLIBC_PRIVATE {
     # functions used in other libraries
index 8ba9eed..b222fb2 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009,2011
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -37,7 +37,7 @@
 # define SCHED_RESET_ON_FORK   0x40000000
 #endif
 
-#ifdef __USE_MISC
+#ifdef __USE_GNU
 /* Cloning flags.  */
 # define CSIGNAL       0x000000ff /* Signal mask to be sent at exit.  */
 # define CLONE_VM      0x00000100 /* Set if VM shared between processes.  */
@@ -78,7 +78,7 @@ struct sched_param
 
 __BEGIN_DECLS
 
-#ifdef __USE_MISC
+#ifdef __USE_GNU
 /* Clone current process.  */
 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
                  int __flags, void *__arg, ...) __THROW;
@@ -88,8 +88,12 @@ extern int unshare (int __flags) __THROW;
 
 /* Get index of currently used CPU.  */
 extern int sched_getcpu (void) __THROW;
+
+/* Switch process to namespace of type NSTYPE indicated by FD.  */
+extern int setns (int __fd, int __nstype) __THROW;
 #endif
 
+
 __END_DECLS
 
 #endif /* need schedparam */
index 051303f..2bed9e9 100644 (file)
@@ -107,3 +107,5 @@ fanotify_init       EXTRA   fanotify_init   i:ii    fanotify_init
 
 name_to_handle_at EXTRA        name_to_handle_at i:isppi name_to_handle_at
 open_by_handle_at EXTRA        open_by_handle_at Ci:ipi  open_by_handle_at
+
+setns          EXTRA   setns           i:ii    setns