Skip to main content
added 472 characters in body
Source Link
Philip Couling
  • 21.1k
  • 5
  • 65
  • 103

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to 2.4 Linux only had "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

That is, this phrase introduces the πŸŽ‰newπŸŽ‰ term "thread" to an audience that only had processes.

the term "thread" is used to refer to the processes within a thread group.

And hence forth that'sBut this precise definition is explicitly only valid for the correct usediscussion of the termCLONE_THREAD for clone():

To make the remainder of the discussion of CLONE_THREAD more readable

Elsewhere you should assume "thread" is as it's understood in POSIX and common technical language: IE that it also implies threads in the same process share memory (CLONE_VM) and share file descriptors (CLONE_FILES) etc.

YouUnless the documentation explicitly discusses specific clone flags in other sys calls, you should generally expectnot use the term "thread" to referin documentation to its more modern meaning, especially where both "thread" and "process"reason on what will happen if some but not all such flags are mentioned togetherset. Such behaviour may be considered "undefined".

 

But beware!Just to be confusing... The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to 2.4 Linux only had "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

That is, this phrase introduces the πŸŽ‰newπŸŽ‰ term "thread" to an audience that only had processes.

the term "thread" is used to refer to the processes within a thread group.

And hence forth that's the correct use of the term "thread".

You should generally expect "thread" to refer to its more modern meaning, especially where both "thread" and "process" are mentioned together.

But beware! The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to 2.4 Linux only had "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

That is, this phrase introduces the πŸŽ‰newπŸŽ‰ term "thread" to an audience that only had processes.

the term "thread" is used to refer to the processes within a thread group.

But this precise definition is explicitly only valid for the discussion of CLONE_THREAD for clone():

To make the remainder of the discussion of CLONE_THREAD more readable

Elsewhere you should assume "thread" is as it's understood in POSIX and common technical language: IE that it also implies threads in the same process share memory (CLONE_VM) and share file descriptors (CLONE_FILES) etc.

Unless the documentation explicitly discusses specific clone flags in other sys calls, you should not use the term "thread" in documentation to reason on what will happen if some but not all such flags are set. Such behaviour may be considered "undefined".

 

Just to be confusing... The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

added 245 characters in body
Source Link
Philip Couling
  • 21.1k
  • 5
  • 65
  • 103

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to that2.4 Linux only had a "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

That is, this phrase introduces the πŸŽ‰newπŸŽ‰ term "thread" to an audience that only had processes.

the term "thread" is used to refer to the processes within a thread group.

And hence forth that's the correct use of the term "thread".

You should generally expect "thread" to refer to its more modern meaning, especially where both "thread" and "process" are mentioned together.

But beware! The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to that Linux only had a "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

You should generally expect "thread" to refer to its more modern meaning, especially where both "thread" and "process" are mentioned together.

But beware! The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to 2.4 Linux only had "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

That is, this phrase introduces the πŸŽ‰newπŸŽ‰ term "thread" to an audience that only had processes.

the term "thread" is used to refer to the processes within a thread group.

And hence forth that's the correct use of the term "thread".

You should generally expect "thread" to refer to its more modern meaning, especially where both "thread" and "process" are mentioned together.

But beware! The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.

Source Link
Philip Couling
  • 21.1k
  • 5
  • 65
  • 103

2.4 was the Linux version that introduced "threads" as we know them (discussed here). And CLONE_THREAD is the flag to ask clone() for a thread instead of a process.

Prior to that Linux only had a "processes"... and the word "thread" was historically used to refer to any parallel execution. So historically a process was a form of thread.

The wording in the clone page can be read as explaining the new concept of threads (as we know them now) to an audience that understood everything is a process. As such this clone() wording is very out dated. But not "wrong".

You should generally expect "thread" to refer to its more modern meaning, especially where both "thread" and "process" are mentioned together.

But beware! The Linux community still retains echos of a time when there was no distinction, and "thread" still gets (erroneously) used to mean process... I know of no other system call documentation example of that.