Lines Matching refs:unshare

2 unshare system call:
4 This document describes the new system call, unshare. The document
41 unshare system call adds a primitive to the Linux thread model that
42 allows threads to selectively 'unshare' any resources that were being
43 shared at the time of their creation. unshare was conceptualized by
45 of the discussion on POSIX threads on Linux. unshare augments the
47 shared resources without creating a new process. unshare is a natural
53 unshare would be useful to large application frameworks such as PAM
56 when creating a new process using fork or clone, unshare can benefit
59 where unshare can be used.
63 unshare can be used to implement polyinstantiated directories using
67 processes when working with these directories. Using unshare, a PAM
80 virtual memory and open files. Without unshare, the server has to
82 which services the request. unshare allows the server an ability to
85 ability to unshare after the process was created can be very
90 In order to not duplicate code and to handle the fact that unshare
92 allocated inactive task) unshare had to make minor reorganizational
97 review of the changes and creation of an unshare test for the LTP
102 unshare reverses sharing that was done using clone(2) system call,
103 so unshare should have a similar interface as clone(2). That is,
105 be shared, similar flags in unshare(int flags) should specify
111 unshare interface should accommodate possible future addition of
113 If and when new context flags are added, unshare design should allow
119 unshare - disassociate parts of the process execution context
124 int unshare(int flags);
127 unshare allows a process to disassociate parts of its execution
135 The main use of unshare is to allow a process to control its
171 The unshare() call is Linux-specific and should not be used
179 Depending on the flags argument, the unshare system call allocates
184 directly by unshare because of the following two reasons.
186 structure, where as unshare operates on the current active
187 task. Therefore unshare has to take appropriate task_lock()
189 2) unshare has to allocate and duplicate all context structures
205 task structure that is being constructed. unshare system call on
208 2) For each context structure, call the corresponding unshare
219 Implementation of unshare can be grouped in the following 4 different
222 b) unshare system call service function
223 c) unshare helper functions for each different process context
238 7.2) unshare system call service function
267 The test for unshare should test the following:
282 a couple _exit and the rest unshare with different combination
288 The current implementation of unshare does not allow unsharing of
290 to unshare signals and/or signal handlers of a currently running
293 be incrementally added to unshare without affecting legacy
294 applications using unshare.