summaryrefslogtreecommitdiff
path: root/glibc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2010-12-13 19:56:25 +0100
committerThomas Schwinge <thomas@schwinge.name>2010-12-13 20:17:11 +0100
commitcfccdc1bdbee7fb25ef0aa9639a3ffec926bf690 (patch)
tree018ecca2a0ce311c735487e485fdb92f614c781e /glibc
parent8fb130c6315264ff44d86c1d06b8b2d83035bdbe (diff)
Shuffle / create / enhance some UNIX / glibc pages.
Diffstat (limited to 'glibc')
-rw-r--r--glibc/environment_variable.mdwn (renamed from glibc/environment_variables.mdwn)0
-rw-r--r--glibc/file_descriptor.mdwn13
-rw-r--r--glibc/process.mdwn26
-rw-r--r--glibc/signal.mdwn31
-rw-r--r--glibc/signals.mdwn32
5 files changed, 70 insertions, 32 deletions
diff --git a/glibc/environment_variables.mdwn b/glibc/environment_variable.mdwn
index 76c1371e..76c1371e 100644
--- a/glibc/environment_variables.mdwn
+++ b/glibc/environment_variable.mdwn
diff --git a/glibc/file_descriptor.mdwn b/glibc/file_descriptor.mdwn
new file mode 100644
index 00000000..2c56d070
--- /dev/null
+++ b/glibc/file_descriptor.mdwn
@@ -0,0 +1,13 @@
+[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+A [[UNIX file descriptor|unix/file_descriptor]] is implemented in [[glibc]] by
+using operations on objects referred to by [[Mach
+ports|microkernel/mach/port]]).
diff --git a/glibc/process.mdwn b/glibc/process.mdwn
new file mode 100644
index 00000000..9b2ec251
--- /dev/null
+++ b/glibc/process.mdwn
@@ -0,0 +1,26 @@
+[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+The GNU Hurd uses a similar concept to [[UNIX processes|unix/process]].
+
+As a [[Mach task|microkernel/mach/task]] only implements a part of a UNIX
+process, there is additional work to be done, for example for [[signal]]s,
+[[environment_variable]]s, [[file_descriptor]]s.
+
+
+# Controlling TTY
+
+Hurd controlling tty behavior is generally consistent with BSD's, including
+`TIOCSCTTY`. Linux also has `TIOCSCTTY` and it is harmless to use it there.
+But BSD and Hurd never do an implicit `TIOCSCTTY` (hence our `O_NOCTTY` is
+zero).
+
+C.f. <http://lists.gnu.org/archive/html/bug-hurd/2009-10/msg00030.html> and the
+following messages.
diff --git a/glibc/signal.mdwn b/glibc/signal.mdwn
new file mode 100644
index 00000000..67028fef
--- /dev/null
+++ b/glibc/signal.mdwn
@@ -0,0 +1,31 @@
+[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+The [[*UNIX signalling mechanism*|unix/signal]] is implemented for the GNU Hurd
+by means of a separate *signal-handling [[thread]]* that is part of every
+[[process]]. This makes handling of signals a separate thread of control.
+
+ * [[SA_SIGINFO, SA_SIGACTION|open_issues/sa_siginfo_sa_sigaction]]
+
+ * Why does `kill` hang sometimes?
+
+ <youpi> kill send the signal to the process
+ <youpi> if the process is hung, killing waits
+ <youpi> signals should be just asynchronous, but apparently for some
+ reason Roland & co wanted some synchronization
+
+ [[!taglink open_issue_glibc]]
+
+
+# Further Reading
+
+ * {{$unix#djb_self-pipe}}.
+
+ * {{$unix#rjk_fork}}.
diff --git a/glibc/signals.mdwn b/glibc/signals.mdwn
deleted file mode 100644
index 40fdc0e1..00000000
--- a/glibc/signals.mdwn
+++ /dev/null
@@ -1,32 +0,0 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
-
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled [[GNU Free Documentation
-License|/fdl]]."]]"""]]
-
-*[[UNIX]] signals* are a means to asynchronously invoke a specific function
-(*signal handler*). This may impact on [[system call]]s that are executing at
-the same time in that they may be completely aborted, return incomplete
-results, scheduled for restarting, or cause signal delivery to be blocked upon
-the system call's completion.
-
-An explanation can be found in the relevant standards, an overview, including
-UNIX signals' deficiencies is given in {{$unix#2010_brown_ghosts_3}}, for
-example.
-
-The UNIX signalling mechanism is implemented for the GNU Hurd by means of a
-separate signal-handling thread that is part of every process. This makes
-handling of signals a separate thread of control.
-
- * [[SA_SIGINFO, SA_SIGACTION|open_issues/sa_siginfo_sa_sigaction]]
-
-
-# External
-
- * {{$unix#djb_self-pipe}}.
-
- * {{$unix#rjk_fork}}.