summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorRoman Inflianskas <rominf@users.noreply.github.com>2021-01-03 15:00:22 +0200
committerGitHub <noreply@github.com>2021-01-03 14:00:22 +0100
commitc82c67dc69a32a18a94c7c4de8efed3eb609d8c1 (patch)
tree42a8583482703cae024281943039807fd6fe9fba
parent76f92265d91ea7490dc434a82459ae93f5e8ff9e (diff)
downloadNim-c82c67dc69a32a18a94c7c4de8efed3eb609d8c1.tar.gz
fix #12958 (#16565)
Sync between Linux kernel code (header:
https://github.com/torvalds/linux/blob/master/tools/include/uapi/linux/sched.h)
and the linux module in lib.

`CLONE_STOPPED` was marked as deprecated, as it was removed in the
Linux kernel upstream.

Fixes #12958.
-rw-r--r--lib/posix/linux.nim47
1 files changed, 29 insertions, 18 deletions
diff --git a/lib/posix/linux.nim b/lib/posix/linux.nim
index 680b61461..5ce9bf2fb 100644
--- a/lib/posix/linux.nim
+++ b/lib/posix/linux.nim
@@ -1,24 +1,35 @@
 import posix
 
+## Flags of `clone` syscall.
+## See `clone syscall manual
+## <https://man7.org/linux/man-pages/man2/clone.2.html>`_ for more information.
 const
-  CSIGNAL* = 0x000000FF
-  CLONE_VM* = 0x00000100
-  CLONE_FS* = 0x00000200
-  CLONE_FILES* = 0x00000400
-  CLONE_SIGHAND* = 0x00000800
-  CLONE_PTRACE* = 0x00002000
-  CLONE_VFORK* = 0x00004000
-  CLONE_PARENT* = 0x00008000
-  CLONE_THREAD* = 0x00010000
-  CLONE_NEWNS* = 0x00020000
-  CLONE_SYSVSEM* = 0x00040000
-  CLONE_SETTLS* = 0x00080000
-  CLONE_PARENT_SETTID* = 0x00100000
-  CLONE_CHILD_CLEARTID* = 0x00200000
-  CLONE_DETACHED* = 0x00400000
-  CLONE_UNTRACED* = 0x00800000
-  CLONE_CHILD_SETTID* = 0x01000000
-  CLONE_STOPPED* = 0x02000000
+  CSIGNAL* = 0x000000FF'i32
+  CLONE_VM* = 0x00000100'i32
+  CLONE_FS* = 0x00000200'i32
+  CLONE_FILES* = 0x00000400'i32
+  CLONE_SIGHAND* = 0x00000800'i32
+  CLONE_PIDFD* = 0x00001000'i32
+  CLONE_PTRACE* = 0x00002000'i32
+  CLONE_VFORK* = 0x00004000'i32
+  CLONE_PARENT* = 0x00008000'i32
+  CLONE_THREAD* = 0x00010000'i32
+  CLONE_NEWNS* = 0x00020000'i32
+  CLONE_SYSVSEM* = 0x00040000'i32
+  CLONE_SETTLS* = 0x00080000'i32
+  CLONE_PARENT_SETTID* = 0x00100000'i32
+  CLONE_CHILD_CLEARTID* = 0x00200000'i32
+  CLONE_DETACHED* = 0x00400000'i32
+  CLONE_UNTRACED* = 0x00800000'i32
+  CLONE_CHILD_SETTID* = 0x01000000'i32
+  CLONE_NEWCGROUP* = 0x02000000'i32
+  CLONE_NEWUTS* = 0x04000000'i32
+  CLONE_NEWIPC* = 0x08000000'i32
+  CLONE_NEWUSER* = 0x10000000'i32
+  CLONE_NEWPID* = 0x20000000'i32
+  CLONE_NEWNET* = 0x40000000'i32
+  CLONE_IO* = 0x80000000'i32
+  CLONE_STOPPED* {.deprecated.} = 0x02000000'i32
 
 # fn should be of type proc (a2: pointer): void {.cdecl.}
 proc clone*(fn: pointer; child_stack: pointer; flags: cint;