summaryrefslogtreecommitdiff
path: root/daemons
AgeCommit message (Collapse)Author
2015-09-06Fix race condition in ext2fs when remountingJames Clarke
On some systems, ext2fs.static would regularly hang at startup, as a race condition meant it would process paging requests while remounting. To fix this, libpager has been altered to allow inhibiting and resuming its worker threads, and ext2fs uses this to inhibit paging while remounting. * console/pager.c (pager_requests): New variable. (user_pager_init): Updated call to pager_start_workers to use new pager_requests variable. * daemons/runsystem.sh: Removed artificial delay working around the race condition. * ext2fs/ext2fs.c (diskfs_reload_global_state): Call new inhibit_ext2_pager and resume_ext2_pager functions, and leave sblock as non-NULL so it will be munmapped. * ext2fs/ext2fs.h (inhibit_ext2_pager,resume_ext2_pager): New functions. * ext2fs/pager.c (file_pager_requests): New variable. (create_disk_pager): Updated call to pager_start_workers to use new file_pager_requests variable. (inhibit_ext2_pager,resume_ext2_pager): New functions. * fatfs/fatfs.h (inhibit_fat_pager,resume_fat_pager): New functions. * fatfs/pager.c (file_pager_requests): New variable. (create_fat_pager): Updated call to pager_start_workers to use new file_pager_requests variable. (inhibit_fat_pager,resume_fat_pager): New functions. * libdiskfs/disk-pager.c (diskfs_disk_pager_requests): New variable. (diskfs_start_disk_pager): Updated call to pager_start_workers to use new diskfs_disk_pager_requests variable. * libdiskfs/diskfs-pager.h (diskfs_disk_pager_requests): New variable. * libpager/demuxer.c (struct pager_requests): Renamed struct requests to struct pager_requests. Replaced queue with queue_in and queue_out pointers. Added inhibit_wakeup field. (pager_demuxer): Updated to use new queue_in/queue_out pointers. Only wake up workers if not inhibited. (worker_func): Updated to use new queue_in/queue_out pointers. Final worker thread to sleep notifies the inhibit_wakeup condition variable. (pager_start_workers): Added out parameter for the requests instance. Allocate heap space shared by both queues. Initialise new inhibit_wakeup condition. (pager_inhibit_workers,pager_resume_workers): New functions. * libpager/pager.h (struct pager_requests): Public forward definition. (pager_start_workers): Added out parameter for the requests instance. (pager_inhibit_workers,pager_resume_workers): New functions. * libpager/queue.h (queue_empty): New function. * storeio/pager.c (pager_requests): New variable. (init_dev_paging): Updated call to pager_start_workers to use new pager_requests variable.
2015-01-03misc: Fix typos in comments (found by codespell)Stefan Weil
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2014-11-21init: add a minimalist init programJustus Winter
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.
2014-02-05daemons/getty: always print a newline before the bannerJustus Winter
* daemons/getty.c (load_banner): Drop first newline from default banner. (print_banner): Print a newline.
2014-01-31daemons/getty: display /etc/issue if availableJustus Winter
Previously, a banner was hardcoded in Hurds getty. Load /etc/issue instead. Fall back to a hardcoded version if that fails. Expand common \char sequences. If no /etc/issue is provided, the old behavior is retained. * daemons/getty.c (load_banner): New function. (print_banner): Expand \char sequences.
2013-10-28Make boot script accept more fsck valuesSamuel Thibault
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
2013-10-22Make boot script reboot when fsck told soSamuel Thibault
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
2013-09-19daemons: make sure / is writable before setting up pflocalJustus Winter
runsystem.sh checks whether /servers/socket/1 exists and creates it using settrans -c if it does not. But at this point in the boot the root filesystem is normally not writable. This patch fixes this. * daemons/runsystem.sh: Make sure / is writable before attempting to set up pflocal.
2013-08-29daemons: fix setsid(2) in console-runJustus Winter
Only run setsid(2) if the process is not already the group leader. * daemons/console-run.c (open_console): Fix setsid(2).
2012-09-23Automatically setup local sockets if not already done so.Samuel Thibault
Needed early for shell pipelines. * daemons/runsystem.sh: See whether pflocal is setup already, and do so if not (install case)
2012-09-22Check that runsystem script exists before trying it.Samuel Thibault
* init/init.c (launch_something): Check with file_name_lookup that runsystem script exists before calling start_child. * daemons/console-run.c (main): Check with file_name_lookup that runsystem script exists before opening a console for it.
2012-04-08console-run: Create and settrans /dev/console when not already done.Ludovic Courtès
This patch makes sure /libexec/console-run creates and installs /dev/console on the first run without considering it a failure if it didn't exist already. * daemons/console-run.c (TERMINAL_FIRST_TRY): Change node to `/dev/console'. (TERMINAL_SECOND_TRY): Change node to `/tmp/console'. (open_console): Clear FALLBACK when TRY == 1 and the `file_set_translator' call suceeded.
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-06-21Set default umask to 022Samuel Thibault
* daemons/runsystem.sh: Call umask 022.
2010-08-01Fix "make dist" in `daemons'.Ludovic Courtès
* daemons/Makefile (SRCS): Add `runsystem.sh'.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back. * auth/ChangeLog: Remove file. * benchmarks/ChangeLog: Likewise. * boot/ChangeLog: Likewise. * bsdfsck/ChangeLog: Likewise. * config/ChangeLog: Likewise. * console-client/ChangeLog: Likewise. * console/ChangeLog: Likewise. * daemons/ChangeLog: Likewise. * defpager/ChangeLog: Likewise. * doc/ChangeLog: Likewise. * exec/ChangeLog: Likewise. * ext2fs/ChangeLog: Likewise. * fatfs/ChangeLog: Likewise. * fstests/ChangeLog: Likewise. * ftpfs/ChangeLog: Likewise. * hostmux/ChangeLog: Likewise. * hurd/ChangeLog: Likewise. * include/ChangeLog: Likewise. * init/ChangeLog: Likewise. * isofs/ChangeLog: Likewise. * libcons/ChangeLog: Likewise. * libdirmgt/ChangeLog: Likewise. * libdiskfs/ChangeLog: Likewise. * libfshelp/ChangeLog: Likewise. * libftpconn/ChangeLog: Likewise. * libhurdbugaddr/ChangeLog: Likewise. * libihash/ChangeLog: Likewise. * libiohelp/ChangeLog: Likewise. * libnetfs/ChangeLog: Likewise. * libpager/ChangeLog: Likewise. * libpipe/ChangeLog: Likewise. * libports/ChangeLog: Likewise. * libps/ChangeLog: Likewise. * libshouldbeinlibc/ChangeLog: Likewise. * libstore/ChangeLog: Likewise. * libthreads/ChangeLog: Likewise. * libtrivfs/ChangeLog: Likewise. * login/ChangeLog: Likewise. * mach-defpager/ChangeLog: Likewise. * nfs/ChangeLog: Likewise. * nfsd/ChangeLog: Likewise. * pfinet/ChangeLog: Likewise. * pflocal/ChangeLog: Likewise. * proc/ChangeLog: Likewise. * release/ChangeLog: Likewise. * serverboot/ChangeLog: Likewise. * storeio/ChangeLog: Likewise. * sutils/ChangeLog: Likewise. * term/ChangeLog: Likewise. * tmpfs/ChangeLog: Likewise. * trans/ChangeLog: Likewise. * ufs-fsck/ChangeLog: Likewise. * ufs-utils/ChangeLog: Likewise. * ufs/ChangeLog: Likewise. * usermux/ChangeLog: Likewise. * utils/ChangeLog: Likewise.
2008-12-082008-12-08 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile (HURDLIBS): Add fshelp and ports.
2007-12-112007-12-11 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* getty.c (main) <execl>: Correctly specify sentinels to avoid GCC 4.3 warnings.
2002-09-152002-09-15 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* getty.c: Include <termios.h>. (set_speed): New function. (main): Take linespec from argc[1], not argc[2]. Call set_speed.
2002-03-26*** empty log message ***Neal H. Walfield
2002-03-262002-03-23 James A. Morrison <ja2morri@uwaterloo.ca>Neal H. Walfield
* console-run.c (open_console): Use ERR, not errno.
2001-12-202001-12-20 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* runsystem.sh: For now, this requires bash.
2001-11-22.Roland McGrath
2001-11-222001-11-21 Roland McGrath <roland@frob.com>Roland McGrath
* runttys.c (setup_terminal, add_terminal, init_ttys): Check for malloc failures. (add_terminal): Fix type used for sizeof calculation in realloc. (init_ttys): Likewise. 2001-11-21 Ryan M Golbeck <rmgolbeck@uwaterloo.ca> * runttys.c (setup_terminal: make_args): Fixed off by one error.
2001-08-20.Roland McGrath
2001-08-202001-08-20 Roland McGrath <roland@frob.com>Roland McGrath
* runsystem.sh: Don't check for MULTIBOOT_CMDLINE environment variable. Instead, expect it as normal arguments from init.
2001-06-08.Roland McGrath
2001-06-082001-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* rc.sh: Start /hurd/mach-defpager before swapon.
2001-06-082001-06-07 Roland McGrath <roland@frob.com>Roland McGrath
* rc.sh: Include $? value in message about unexpected fsck exit.
2001-01-30daemons/Marcus Brinkmann
2001-01-17 Neal H Walfield <neal@cs.uml.edu> * console-run.c (open_console): Conform to new fshelp_start_translator semantics. init/ 2001-01-17 Neal H Walfield <neal@cs.uml.edu> * init.c (open_console): Conform to new fshelp_start_translator semantics. libfshelp/ 2001-01-17 Neal H Walfield <neal@cs.uml.edu> * fshelp.h: Add two new parameters to fshelp_open_fn_t: a port to the new task and a cookie. Add a new parameter, cookie, to fshelp_start_translator and fshelp_start_translator_long that will be passed to fshelp_open_fn_t. * fetch-root.c (fshelp_fetch_root): Conform to new fshelp_start_translator_long semantics. * start-translator-long.c (service_fsys_startup): Likewise. (fshelp_start_translator_long): Likewise. * start-translator.c (fshelp_start_translator): Likewise. libtreefs/ Conform to new fshelp_start_translator semantics. trans/ 2001-01-17 Neal H Walfield <neal@cs.uml.edu> * pump.c (start_pfinet): Conform to new fshelp_start_translator semantics. utils/ 2001-01-17 Neal H Walfield <neal@cs.uml.edu> * mount.c (do_mount): Conform to new fshelp_start_translator semantics. * settrans.c (main): Conform to new fshelp_start_translator semantics therby allowing us to print the pid of the an active translator.
1999-09-281999-09-23 Mark Kettenis <kettenis@gnu.org>Thomas Bushnell
* getty.c (main): Report an error if login_tty failed.
1999-09-22.Roland McGrath
1999-09-221999-09-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* getty.c: Undo last change.
1999-09-22.Roland McGrath
1999-09-221999-09-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* getty.c (main): Make TTY our controlling terminal with TIOCSCTTY.
1999-09-191999-07-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* getty.c: Include <utmp.h> for login_tty decl.
1999-09-19.Roland McGrath
1999-09-191999-09-19 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* runttys.c (main): Only call error if setsid returns -1. From Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>.
1999-09-181999-09-18 Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>Thomas Bushnell
* runttys.c (run): Only call error if setsid returns -1. * console-run.c (open_console): Likewise.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* console-run.c (open_console): Move first setting of TERMINAL and ARGZ_LEN outside of loop, quiets compiler warning.
1999-07-11.Roland McGrath
1999-07-111999-07-10 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* lmail.c: Add #include <sys/mman.h> for munmap decl.
1999-07-031999-07-03 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* lmail.c (bfree): Use munmap instead of vm_deallocate.
1999-07-011999-07-01 Thomas Bushnell, BSG <tb@mit.edu>Thomas Bushnell
* rc.sh: Specify bash instead of sh. (remove_translators): Don't descend into "." or "..". Alter calling convention slightly and require the `nullglob' option to be set. Change caller to suit. From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
1999-06-22.Roland McGrath
1999-06-221999-06-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* rc.sh: Clean /tmp using special hackery to nuke translators.
1999-06-18.Roland McGrath
1999-06-181999-06-15 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* runttys.c: New file.c * Makefile (targets, SRCS): Add runttys, runttys.c. (runttys): New target. (runttys-LDLIBS): New variable, -lutil.
1999-06-181999-06-18 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* runsystem.sh: New file. * Makefile (targets, special-targets): Add runsystem. (runsystem): New target.