Since Python 3.12 the standard library has included an `os.unshare` function.
Use it if it is available.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Phil Sutter <phil@nwl.cc>
print('\n'.join(missing))
def spawn_netns():
- # prefer unshare module
+ # prefer stdlib unshare function ...
+ try:
+ os.unshare(os.CLONE_NEWNET)
+ return True
+ except Exception as e:
+ pass
+
+ # ... or unshare module
try:
import unshare
unshare.unshare(unshare.CLONE_NEWNET)
def spawn_netns():
- # prefer unshare module
+ # prefer stdlib unshare function ...
+ try:
+ os.unshare(os.CLONE_NEWNET)
+ return True
+ except Exception as e:
+ pass
+
+ # ... or unshare module
try:
import unshare
unshare.unshare(unshare.CLONE_NEWNET)