<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/hurd.git/init, branch master</title>
<subtitle>Personal Hurd development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/'/>
<updated>2016-09-04T12:47:05Z</updated>
<entry>
<title>Fix patch to runsystem.hurd</title>
<updated>2016-09-04T12:47:05Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2016-09-04T12:47:05Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=349b9c4fdcb49add63ec71cabd6e4e4dbe6b262d'/>
<id>urn:sha1:349b9c4fdcb49add63ec71cabd6e4e4dbe6b262d</id>
<content type='text'>
* init/init.c (main): Run /libexec/runsystem.hurd instead of
/etc/hurd/runsystem.hurd.
</content>
</entry>
<entry>
<title>Print which path init tried to execv</title>
<updated>2015-08-08T12:09:44Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2015-08-08T12:09:44Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=5d1c6af9f59c7a768684a537fc32389be8cddeca'/>
<id>urn:sha1:5d1c6af9f59c7a768684a537fc32389be8cddeca</id>
<content type='text'>
* init/init.c (main): On execv failure, print which path failed.
</content>
</entry>
<entry>
<title>init: add a minimalist init program</title>
<updated>2014-11-21T04:49:03Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-09-18T13:29:36Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=7e9c559c75901f391b4151ed6cabba74e60f80af'/>
<id>urn:sha1:7e9c559c75901f391b4151ed6cabba74e60f80af</id>
<content type='text'>
This patch adds a minimalist init program.  It is somewhat lacking in
features, but is able to bring up a Hurd system with the runsystem and
rc scripts.  In fact, it roughly does what the former /hurd/init did,
modulo all the very early bootstrapping stuff and the startup
protocol.  It is started when all the essential servers are up and
running, so it can make use of most of the POSIX goodies, making its
implementation much simpler.

* Makefile (prog-subdirs): Add init.
* daemons/runsystem.sh: Generalize runsystem so that it can start any
init as specified on the kernel command line.  By default, it starts
/hurd/init.
* daemons/runsystem.hurd: This is a verbatim copy of runsystem.sh.  It
is started by /hurd/init.
* daemons/rc.sh: Do not start /hurd/mach-defpager as it is already
started in runsystem.sh.
* daemons/Makefile (SRCS): Add runsystem.hurd.
* init/Makefile: New file.
* init/init.c: Likewise.
</content>
</entry>
<entry>
<title>startup: rename /hurd/init to /hurd/startup</title>
<updated>2014-11-21T04:48:19Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-09-17T11:44:44Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=0224d569030e6838c63cf946ae7321be923afc23'/>
<id>urn:sha1:0224d569030e6838c63cf946ae7321be923afc23</id>
<content type='text'>
This patch series splits /hurd/init into two programs.  As a first
step, this patch renames /hurd/init to /hurd/startup.  It is called
startup because it speaks the startup protocol.

* startup: Rename init to startup.  Adjust accordingly.
* Makefile (prog-subdirs): Likewise.
* doc/hurd.texi (Server Bootstrap): Likewise.
* hurd/paths.h (_HURD_STARTUP): Likewise.
* libdiskfs/boot-start.c (diskfs_boot_init_program): Likewise.
* libdiskfs/opts-std-startup.c (startup_options): Likewise.
</content>
</entry>
<entry>
<title>Add proc_set_init_task, make runsystem pid 1</title>
<updated>2014-11-21T04:48:19Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-09-18T13:59:31Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=8d16db0cc28b2d911aee918d5c3582ad29ddfeed'/>
<id>urn:sha1:8d16db0cc28b2d911aee918d5c3582ad29ddfeed</id>
<content type='text'>
* hurd/process.defs (proc_set_init_task): New procedure.
* hurd/process_reply.defs (proc_set_init_task): Likewise.
* hurd/process_request.defs (proc_set_init_task): Likewise.
* include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly.
* init/init.c (start_child): Register the child task.
* proc/proc.h (init_proc): New variable.
(create_startup_proc): Rename to create_init_proc.
* proc/main.c (main): Create placeholder proc object for pid 1.
* proc/mgt.c: Use init_proc instead of startup_proc, as the former is
the new root of the process tree.
(create_startup_proc): Rename to create_init_proc.
(S_proc_set_init_task): New function.
* doc/hurd.texi (Server Bootstrap): Update accordingly.
* procfs/main.c: Do not hard-code kernel pid, use pids.h instead.
</content>
</entry>
<entry>
<title>init: fix port leak</title>
<updated>2013-11-28T12:13:32Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-11-25T12:05:01Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=78636c03a561d3a9a1b7c008dc390fe854196309'/>
<id>urn:sha1:78636c03a561d3a9a1b7c008dc390fe854196309</id>
<content type='text'>
* init/init.c (S_startup_essential_task): Fix port leak.
</content>
</entry>
<entry>
<title>init: fix memory leak</title>
<updated>2013-11-09T18:41:16Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-11-06T15:10:37Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=d22ba3e7629976f6a55382140945e92a4d5600b7'/>
<id>urn:sha1:d22ba3e7629976f6a55382140945e92a4d5600b7</id>
<content type='text'>
Found using the Clang Static Analyzer.

* init/init.c (process_signal): Fix memory leak.
</content>
</entry>
<entry>
<title>init: Mark all of inits children and init itself as important</title>
<updated>2013-08-28T23:52:54Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-08-15T07:37:58Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=580abff9c280ab91bb05b999f8ea2bda36a55e05'/>
<id>urn:sha1:580abff9c280ab91bb05b999f8ea2bda36a55e05</id>
<content type='text'>
This is based on a fragment of Guillem Jovers patch presented here:

http://lists.gnu.org/archive/html/bug-hurd/2006-02/msg00081.html

It has been refreshed, updated and the copyright year is adjusted
properly. It has been complemented with the necessary features to
address the issues the original patch set out to address, namely
that killall5 freezes the proc translator before it tries to walk
over /proc/*/stat to decide which process to kill. Prior to this
patch (and the one marking the procfs server as important
process), killall5 would deadlock trying to walk over the proc
file system.

Ironically it would not have killed any process later on even if
it had the chance, since two values obtained from /proc/*/stat
are currently hardcoded to zero in our procfs. Patches addressing
the problem as a whole are prepared and will be sent as a follow
up.

* init/init.c (launch_core_servers): Mark init, auth, proc and fs
  servers as important.
(start_child): Mark the real init as important.
(S_startup_important_task): Mark exec server as important.
</content>
</entry>
<entry>
<title>Define and use symbolic names for important processes</title>
<updated>2013-08-28T21:26:39Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2013-07-26T14:38:29Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=193cef0bdcc7b4a7e06a6cf30e96684c9f454863'/>
<id>urn:sha1:193cef0bdcc7b4a7e06a6cf30e96684c9f454863</id>
<content type='text'>
* include/pids.h: New file.
* init/init.c (frob_kernel_process): Use symbolic name for kernel process.
* exec/exec.c (S_exec_init): Use symbolic name for startup process.
* libdiskfs/boot-start.c (diskfs_S_fsys_init): Likewise.
* libdiskfs/init-startup.c (_diskfs_init_completed): Likewise.
* pfinet/main.c (arrange_shutdown_notification): Likewise.
* proc/mgt.c (create_startup_proc): Likewise.
* proc/main.c (main): Use symbolic name for proc process.
</content>
</entry>
<entry>
<title>Fix invalid memory access</title>
<updated>2013-06-01T18:34:08Z</updated>
<author>
<name>Miguel Figueiredo</name>
<email>elmig@debianpt.org</email>
</author>
<published>2013-06-01T18:34:08Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=47f2683d0200167b4b268c53e34775188cff5366'/>
<id>urn:sha1:47f2683d0200167b4b268c53e34775188cff5366</id>
<content type='text'>
* init/init.c (start_child): Don't free `arg' before it is used.
</content>
</entry>
</feed>
