Lines Matching refs:unshare
1 unshare system call
4 This document describes the new system call, unshare(). The document
42 unshare() system call adds a primitive to the Linux thread model that
43 allows threads to selectively 'unshare' any resources that were being
44 shared at the time of their creation. unshare() was conceptualized by
46 of the discussion on POSIX threads on Linux. unshare() augments the
48 shared resources without creating a new process. unshare() is a natural
55 unshare() would be useful to large application frameworks such as PAM
58 when creating a new process using fork or clone, unshare() can benefit
61 where unshare() can be used.
66 unshare() can be used to implement polyinstantiated directories using
70 processes when working with these directories. Using unshare(), a PAM
84 virtual memory and open files. Without unshare(), the server has to
86 which services the request. unshare() allows the server an ability to
89 ability to unshare() after the process was created can be very
95 In order to not duplicate code and to handle the fact that unshare()
97 allocated inactive task) unshare() had to make minor reorganizational
102 review of the changes and creation of an unshare() test for the LTP
108 unshare() reverses sharing that was done using clone(2) system call,
109 so unshare() should have a similar interface as clone(2). That is,
111 be shared, similar flags in unshare(int flags) should specify
117 unshare() interface should accommodate possible future addition of
119 If and when new context flags are added, unshare() design should allow
126 unshare - disassociate parts of the process execution context
131 int unshare(int flags);
134 unshare() allows a process to disassociate parts of its execution
142 The main use of unshare() is to allow a process to control its
178 The unshare() call is Linux-specific and should not be used
187 Depending on the flags argument, the unshare() system call allocates
192 directly by unshare() because of the following two reasons.
195 structure, where as unshare() operates on the current active
196 task. Therefore unshare() has to take appropriate task_lock()
199 2) unshare() has to allocate and duplicate all context structures
215 task structure that is being constructed. unshare() system call on
220 2) For each context structure, call the corresponding unshare()
234 Implementation of unshare() can be grouped in the following 4 different
239 b) unshare() system call service function
241 c) unshare() helper functions for each different process context
259 7.2) unshare() system call service function
299 The test for unshare() should test the following:
318 a couple _exit and the rest unshare with different combination
325 The current implementation of unshare() does not allow unsharing of
327 to unshare signals and/or signal handlers of a currently running
330 be incrementally added to unshare() without affecting legacy
331 applications using unshare().