github.com/Mirantis/virtlet@v1.5.2-0.20191204181327-1659b8a48e9b/pkg/nsfix/doc.go (about)

     1  /*
     2  Copyright 2018 Mirantis
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  // Package nsfix helps to deal with switching to other process
    18  // namespaces to execute some particular piece of code.  While
    19  // starting from Go 1.10 it's possible to switch to different non-mnt
    20  // namespaces without the danger of corrupting other goroutines'
    21  // state, there's still a problem of not being able to switch to
    22  // another mount namespace from a Go program without the "constructor"
    23  // hack. For more info, see https://stackoverflow.com/a/25707007/40846
    24  // https://github.com/golang/go/issues/8676
    25  package nsfix