Bug 59281
Summary: | unshare(2) applies to threads, not processes | ||
---|---|---|---|
Product: | Documentation | Reporter: | Florian Weimer (fweimer) |
Component: | man-pages | Assignee: | documentation_man-pages (documentation_man-pages) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | mtk.manpages, sstewartgallus00 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | No | Bisected commit-id: |
Description
Florian Weimer
2013-06-04 14:44:24 UTC
Well processes and threads are basically the same under Linux. That's basically the point of the unshare call. It should really say processes and threads though. Why not submit a patch correcting processes to "processes (or threads)"? (In reply to Florian Weimer from comment #0) > My version starts with "unshare() allows a process to disassociate parts of > its execution context", but I've been told that this incorrect because it > applies to the calling thread only, not the entire process. Florian, while I understand the motivation of this bug report, there's no really good fix. As Stuart notes, the line between thread and process in this context is fuzzy. Really, the reader needs to have a grasp on what clone(2) does. Anyway, to improve things a little, I applied the patch below. Cheers, Michael --- a/man2/unshare.2 +++ b/man2/unshare.2 @@ -49,15 +49,15 @@ _BSD_SOURCE || _SVID_SOURCE .ad b .SH DESCRIPTION .BR unshare () -allows a process to disassociate parts of its execution -context that are currently being shared with other processes. +allows a process (or thread) to disassociate parts of its execution +context that are currently being shared with other processesi or theads). Part of the execution context, such as the mount namespace, is shared implicitly when a new process is created using .BR fork (2) or .BR vfork (2), while other parts, such as virtual memory, may be -shared by explicit request when creating a process using +shared by explicit request when creating a process or thread using .BR clone (2). The main use of Am 05.05.2015 09:36, schrieb bugzilla-daemon@bugzilla.kernel.org: > https://bugzilla.kernel.org/show_bug.cgi?id=59281 > > Michael Kerrisk <mtk.manpages@gmail.com> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|NEW |RESOLVED > CC| |mtk.manpages@gmail.com > Resolution|--- |CODE_FIX > > --- Comment #2 from Michael Kerrisk <mtk.manpages@gmail.com> --- > (In reply to Florian Weimer from comment #0) >> My version starts with "unshare() allows a process to disassociate parts of >> its execution context", but I've been told that this incorrect because it >> applies to the calling thread only, not the entire process. > > Florian, while I understand the motivation of this bug report, there's no > really good fix. As Stuart notes, the line between thread and process in this > context is fuzzy. Really, the reader needs to have a grasp on what clone(2) > does. > > Anyway, to improve things a little, I applied the patch below. > > Cheers, > > Michael > > --- a/man2/unshare.2 > +++ b/man2/unshare.2 > @@ -49,15 +49,15 @@ _BSD_SOURCE || _SVID_SOURCE > .ad b > .SH DESCRIPTION > .BR unshare () > -allows a process to disassociate parts of its execution > -context that are currently being shared with other processes. > +allows a process (or thread) to disassociate parts of its execution > +context that are currently being shared with other processesi or theads). ^^^^^^^ did you notice ? re, wh > Part of the execution context, such as the mount namespace, is shared > implicitly when a new process is created using > .BR fork (2) > or > .BR vfork (2), > while other parts, such as virtual memory, may be > -shared by explicit request when creating a process using > +shared by explicit request when creating a process or thread using > .BR clone (2). > > The main use of > |