All of lore.kernel.org
 help / color / mirror / Atom feed
From: viro@parcelfarce.linux.theplanet.co.uk
To: Robert White <rwhite@casabyte.com>
Cc: "'Linus Torvalds'" <torvalds@osdl.org>,
	"'Albert Cahalan'" <albert@users.sourceforge.net>,
	"'Ulrich Drepper'" <drepper@redhat.com>,
	"'Mikael Pettersson'" <mikpe@csd.uu.se>,
	"'Kernel Mailing List'" <linux-kernel@vger.kernel.org>
Subject: Re: Here is a case that proves my previous position wrong regurading CLONE_THREAD and CLONE_FILES
Date: Sat, 11 Oct 2003 04:48:20 +0100	[thread overview]
Message-ID: <20031011034818.GH7665@parcelfarce.linux.theplanet.co.uk> (raw)
In-Reply-To: <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAA2ZSI4XW+fk25FhAf9BqjtMKAAAAQAAAAl4UIR+3nFUmBp1aNINMhFgEAAAAA@casabyte.com>

On Fri, Oct 10, 2003 at 08:02:49PM -0700, Robert White wrote:
> For those who care:
> 
> Earlier I was phrasing arguments for requiring that the CLONE_THREAD
> argument to clone() require implication of CLONE_FILES.  I officially recant
> those arguments.  In those prior posts I asked for a specific demonstrable
> case against this requirement.  Having found one myself, I provide it here
> so that if the question comes up again from other quarters it can be
> answered (or killed 8-) more easily.
> 
> [This post is significantly aimed at persons searching the mailing list so
> please forgive some of the more elementary observations.  Near the end I do
> a compare and contrast of the kernel provided clone() feature to the pthread
> and java task paradigms for those who got here via the words "thread" or
> "task".]

[snip]

One note: non-shared descriptor table with shared VM (or vice versa) is
not unique to Linux.  *BSD have a syscall very similar in spirit to clone(2)
- rfork(2).  So does Plan 9, where that beast had originated.

IOW, that model is actually *absent* only in SysV - arguably, the least
Unix-like of Unix clones...

{Free,Open,Net}BSD rfork() differs from clone() only in arguments.  Plan 9
one always gives task-private stack - even if VM is otherwise shared.

BTW, there's a bunch of syscalls that require careful userland code if
descriptors _are_ shared - select() is a good example, since we get the
answer in terms of descriptor table at the moment of call.  Having one
thread put descriptor 42 into set, call select and return after another
thread does close(42); or dup2(fd, 42)...

  reply	other threads:[~2003-10-11  3:48 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-28  1:27 Linux 2.6.0-test6 Linus Torvalds
2003-09-28  7:03 ` Con Kolivas
2003-09-28 10:02   ` Rob Landley
2003-09-29  4:55     ` Nick Piggin
2003-09-29  7:35       ` Rob Landley
2003-09-29 16:55       ` Ed Sweetman
2003-09-30  0:03         ` Nick Piggin
2003-10-02  0:41         ` Pedro Larroy
2003-10-02  3:05           ` Nick Piggin
2003-10-02 19:07             ` Pedro Larroy
2003-10-03  0:07               ` Nick Piggin
2003-10-03 19:34                 ` Pedro Larroy
2003-09-29 18:45       ` bill davidsen
2003-09-30  1:12         ` Nick Piggin
2003-10-01 21:13           ` bill davidsen
2003-10-02  2:45             ` Nick Piggin
2003-09-28  8:26 ` Markus Hästbacka
2003-09-28 10:54   ` Jeff Garzik
2003-09-28  8:59 ` keyboard repeat / sound [was Re: Linux 2.6.0-test6] Roger Luethi
2003-09-29 15:16   ` Vojtech Pavlik
2003-09-30  7:50     ` Paul
2003-09-30 12:51       ` Vojtech Pavlik
2003-09-30 13:21         ` Aristeu Sergio Rozanski Filho
2003-09-30 13:44           ` Vojtech Pavlik
2003-09-30 14:05             ` Aristeu Sergio Rozanski Filho
2003-09-30 14:16               ` Vojtech Pavlik
2003-10-01 23:51                 ` Aristeu Sergio Rozanski Filho
2003-09-30 18:16               ` Mark W. Alexander
2003-10-01 23:52                 ` Aristeu Sergio Rozanski Filho
2003-09-28 10:09 ` Linux 2.6.0-test6 Rafał 'rmrmg' Roszak
2003-09-28 11:05 ` Andreas Jellinghaus
2003-09-28 12:34   ` Dave Jones
2003-09-28 16:12     ` Andreas Jellinghaus
2003-09-28 17:51       ` Andries Brouwer
2003-09-28 16:42 ` Ivan Gyurdiev
2003-09-28 20:26 ` [patch] 2.6.0-test6: correct hdlcdrv.h prototypes Adrian Bunk
2003-09-29 13:23 ` Linux 2.6.0-test6 Florin Iucha
2003-09-29 13:55   ` Muli Ben-Yehuda
2003-09-29 14:01     ` Jaroslav Kysela
2003-09-29 14:18       ` Muli Ben-Yehuda
2003-09-29 19:04         ` bill davidsen
2003-09-29 14:30       ` Takashi Iwai
2003-09-29 13:58   ` Jaroslav Kysela
2003-09-29 16:30 ` Linux 2.6.0-test6 (compile statistics) John Cherry
2003-09-29 17:44   ` Jesper Juhl
2003-10-06 20:39     ` John Cherry
2003-10-01  8:58 ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? Mikael Pettersson
2003-10-01 11:52   ` John Levon
2003-10-01 20:21     ` bill davidsen
2003-10-02  1:00       ` John Levon
2003-10-06  3:01         ` bill davidsen
2003-10-01 15:11   ` Linus Torvalds
2003-10-01 20:58     ` bill davidsen
2003-10-01 23:42     ` Albert Cahalan
2003-10-02  0:38       ` Linus Torvalds
2003-10-02  0:57         ` Albert Cahalan
2003-10-02  3:35     ` Ulrich Drepper
2003-10-02  4:12       ` Albert Cahalan
2003-10-02  4:58         ` Ulrich Drepper
2003-10-02 13:48           ` Albert Cahalan
2003-10-02 17:30             ` Ulrich Drepper
2003-10-03  0:03               ` Albert Cahalan
2003-10-03  0:40                 ` Linus Torvalds
2003-10-03  2:53                   ` Jamie Lokier
2003-10-06  4:54                     ` Mike Fedyk
2003-10-06  2:52                   ` bill davidsen
2003-10-07 23:08                   ` Robert White
2003-10-07 22:46                 ` Robert White
2003-10-07 23:25                   ` Linus Torvalds
2003-10-08  0:41                     ` Robert White
2003-10-08  0:54                       ` Linus Torvalds
2003-10-08  2:31                         ` Robert White
2003-10-08  2:39                           ` David Lang
2003-10-08  2:59                             ` Robert White
2003-10-09 18:25                               ` bill davidsen
2003-10-08  2:47                           ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? (SIGPIPE?) Robert White
2003-10-08  2:57                             ` Linus Torvalds
2003-10-08  4:01                               ` Robert White
2003-10-08  4:08                                 ` Linus Torvalds
2003-10-08 10:47                         ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? bert hubert
2003-10-08 19:12                           ` Ulrich Drepper
2003-10-09 18:43                             ` bill davidsen
2003-10-08 21:54                           ` Robert White
2003-10-09 18:12                         ` bill davidsen
2003-10-10  4:39                           ` Jamie Lokier
2003-10-09 17:59                       ` bill davidsen
2003-10-11  3:02                       ` Here is a case that proves my previous position wrong regurading CLONE_THREAD and CLONE_FILES Robert White
2003-10-11  3:48                         ` viro [this message]
2003-10-12 11:41                         ` Jamie Lokier
2003-10-02  8:46       ` Who changed /proc/<pid>/ in 2.6.0-test5-bk9? Miquel van Smoorenburg
2003-10-02 22:35         ` Jamie Lokier
2003-10-02 23:43           ` Miquel van Smoorenburg
2003-10-06  2:57         ` bill davidsen
2003-10-02  3:38     ` Ulrich Drepper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20031011034818.GH7665@parcelfarce.linux.theplanet.co.uk \
    --to=viro@parcelfarce.linux.theplanet.co.uk \
    --cc=albert@users.sourceforge.net \
    --cc=drepper@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@csd.uu.se \
    --cc=rwhite@casabyte.com \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.