summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-04-29 19:54:03 -0400
committerRich Felker <dalias@aerifal.cx>2012-04-29 19:54:03 -0400
commit50da5c264fd84ea2de8cf75bf39ceb81a4eecd71 (patch)
treec9e335639f79c933def5c64e3b935ec17be5c41e
parent8b7112191020f1e44386a6311e0cb62ee4cea2ef (diff)
downloadmusl-50da5c264fd84ea2de8cf75bf39ceb81a4eecd71.tar.gz
musl-50da5c264fd84ea2de8cf75bf39ceb81a4eecd71.tar.bz2
musl-50da5c264fd84ea2de8cf75bf39ceb81a4eecd71.tar.xz
musl-50da5c264fd84ea2de8cf75bf39ceb81a4eecd71.zip
add linux-specific unshare syscall wrapper
-rw-r--r--include/sched.h1
-rw-r--r--src/linux/unshare.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/include/sched.h b/include/sched.h
index 7b3f1600..e411c92b 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -56,6 +56,7 @@ int sched_yield(void);
#define CLONE_NEWNET 0x40000000
#define CLONE_IO 0x80000000
int clone (int (*)(void *), void *, int, void *, ...);
+int unshare(int);
#endif
#ifdef __cplusplus
diff --git a/src/linux/unshare.c b/src/linux/unshare.c
new file mode 100644
index 00000000..3861db3b
--- /dev/null
+++ b/src/linux/unshare.c
@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <sched.h>
+#include "syscall.h"
+
+int unshare(int flags)
+{
+ return syscall(SYS_unshare, flags);
+}