Age | Commit message (Collapse) | Author |
|
Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
|
The changes to `hurd_types.defs' caused the glibc build to fail.
Guard the problematic parts with `HURD_SERVER' similar how it is done
in GNU Mach.
* Makeconf: Define `HURD_SERVER' when preprocessing the RPC
definitions for the server side.
* hurd/hurd_types.defs: Guard problematic parts with `HURD_SERVER'.
|
|
* boot/Makefile (MIGSFLAGS): Add -DHURD_DEFAULT_PAYLOAD_TO_PORT=1.
* mach-defpager/Makefile (MIGSFLAGS): Likewise.
* hurd/hurd_types.defs: Do not include <hurd/ports.h>.
|
|
Add a new RPC to the process protocol to create task namespaces.
These can be used by an unprivileged process to claims the
responsibility to manage all tasks in this namespace. Any task
created in this namespace will automatically be declared a child of
the root process, and a `mach_notify_new_task' message is sent to a
given port. If the root process dies, the proc server will terminate
all tasks in the namespace.
* hurd/process.defs (proc_make_task_namespace): New RPC.
|
|
For each hurd type defined in hurd_types.h, add a intranpayload
function. If an X_INTRAN mutation is defined for a type, a
corresponding X_INTRAN_PAYLOAD has to be defined. If no X_INTRAN
mutation is defined, use ports_payload_get_name as intranpayload
function, turning the payload back into an port name.
* hurd/hurd_types.defs: Add intranpayload functions.
* hurd/term.defs: Likewise.
* hurd/default_pager.defs: Include `hurd_types.defs' for
`MACH_PAYLOAD_TO_PORT'.
|
|
Previously, the Hurd (ab)used the fact that the startup server speaks
all protocols on its message port. Any server that wished to register
for shutdown notifications would use proc_getmsgport to get a port to
the startup server.
This hardcodes the PID of /hurd/startup, and does not allow one to
point a server to ones own startup server (e.g. using remap).
Bind the startup server to /servers/startup instead. Use this to
contact the startup server.
* exec/main.c (S_exec_init): Use /servers/startup. Fall back to the
old method so that the system still boots when the node
/servers/startup is missing.
* hurd/paths.h (_SERVERS_STARTUP): New macro.
* libdiskfs/boot-start.c (diskfs_S_fsys_init): Use /servers/startup.
* libdiskfs/init-startup.c (_diskfs_init_completed): Likewise.
* pfinet/main.c (arrange_shutdown_notification): Likewise.
* startup/Makefile (OBJS): Add fsysServer.o.
* startup/startup.c (demuxer): Handle the fsys protocol.
(main): Bind to /servers/startup.
(S_fsys_getroot): Implement fsys_getroot. Stub out the rest.
|
|
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.
|
|
* 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.
|
|
* hurd/paths.h (_HURD_MTAB): New macro.
* procfs/rootdir.c (rootdir_mounts_get_translator): Use the new macro.
(rootdir_mounts_exists): Likewise.
|
|
Make the memory_object parameter of default_pager_object_create
polymorphic. This fixes https://savannah.gnu.org/bugs/?26751 .
* hurd/default_pager.defs (default_pager_object_create): Make
memory_object parameter polymorphic.
* mach-defpager/default_pager.c (S_default_pager_object_create):
Adjust accordingly.
* trans/proxy-defpager.c (S_default_pager_object_create): Likewise.
|
|
When first introduced as fsys_get_children, it made sense to return
the list of children using paths relative to the root of the
filesystem that was queried. Making the get_children method part of
the fsys protocol was a mistake that has since been corrected in
9366d6b2.
Instead of returning paths relative to the root of the translator,
return paths relative to the path of the receiving node.
This fixes a problem with the mtab translator. Previously, the mtab
translator invoked on a target that was not the root directory of a
translator would compute invalid paths, e.g.:
/hurd/mtab: /any/path/servers/socket/26 No such file or directory
* hurd/fs.defs (file_get_children): Update comment.
* libfshelp/translator-list.c (fshelp_get_active_translators): Add
argument PREFIX. Filter entries not beginning with PREFIX if
non-NULL, and omit PREFIX from the returned paths.
* libfshelp/fshelp.h (fshelp_get_active_translators): Update comment
accordingly. Also clarify that both FILTER and PREFIX can be NULL.
* libdiskfs/file-get-children.c (diskfs_S_file_get_children): Update
comment, pass prefix to fshelp_get_active_translators.
* libnetfs/file-get-children.c (netfs_S_file_get_children): Likewise.
|
|
* hurd/hurd_types.h (ctty_t): New type definition.
* hurd/term.defs (ctty_t): New type definition.
* term/mig-decls.h: New file.
* term/mig-mutate.h: Add mutators, includes.
* term/term.h: Add include guards.
* term/users.c (S_termctty_open_terminal): Fix receiver lookup.
* boot/boot.c (S_termctty_open_terminal): Likewise.
|
|
* hurd/shared.h (struct shared_io): Use blksize_t for optimal_transfer_size.
|
|
* hurd/hurd_types.defs (interrupt_t): New type.
* hurd/hurd_types.h (interrupt_t): Likewise.
* hurd/interrupt.defs (interrupt_operation): Use the new type.
|
|
* hurd/hurd_types.defs (exec_startup_t): New type.
* hurd/hurd_types.h (exec_startup_t): Likewise.
* hurd/exec_startup.defs: Honor EXEC_STARTUP_IMPORTS.
(exec_startup_get_info): Use the new type as receiver.
|
|
* hurd/default_pager.defs: Honor DEFAULT_PAGER_IMPORTS.
(default_pager_object_set_size): Fix receiver type.
|
|
* hurd/iioctl.defs: Add IIOCTL_IMPORTS.
|
|
* hurd/fs.defs: Add file_get_children and file_get_source.
* hurd/fsys.defs: Remove fsys_get_children and fsys_get_source.
* libdiskfs/fsys-get-children.c: Rename and adapt accordingly.
* libdiskfs/fsys-get-source.c: Likewise.
* libnetfs/fsys-get-children.c: Likewise.
* libnetfs/fsys-get-source.c: Likewise.
* libtrivfs/fsys-get-children.c: Likewise.
* libtrivfs/fsys-get-source.c: Likewise.
* libdiskfs/diskfs.h: Adapt prototype and comment.
* libnetfs/netfs.h: Likewise.
* libtrivfs/trivfs.h: Likewise.
* libdiskfs/get-source.c: Adapt default implementation, provide
diskfs_disk_name by default.
* libnetfs/netfs.h: Adapt default implementation.
* libtrivfs/get-source.c: Likewise.
* libdiskfs/Makefile: Adapt accordingly.
* libnetfs/Makefile: Likewise.
* libtrivfs/Makefile: Likewise.
* trans/symlink.c: Likewise.
* trans/mtab.c: Likewise.
|
|
Some files were not normalized. In console/motd.UTF8 the additional
newline is intentional. Empty files were excluded as well.
|
|
* hurd/fsys_reply.defs: Add _reply suffix.
|
|
* hurd/process_reply.defs: Add _reply suffix.
|
|
Return information about the source of the receiving filesystem.
If the concept of a source is applicable, SOURCE should refer to
the source of the receiving translator and should be a description
considered appropriate in the context of the translator. For
example for the case of block device based filesystems, SOURCE
should be the file name of the underlying block device.
* hurd/fsys.defs: Add fsys_get_source.
* hurd/fsys_reply.defs: Add fsys_get_source.
|
|
fsys_get_children returns any active translators bound to nodes of the
receiving filesystem as an argz vector containing file names relative
to the root of the receiving translator.
* hurd/fsys.defs: Add fsys_get_children.
* hurd/fsys_reply.defs: Add fsys_get_children.
|
|
Add routines to set and query the processes start_code and end_code
locations. Any executable segments loaded from the ELF binary are in
this range.
* hurd/process.defs: Add proc_{get,set}_code.
* hurd/process_reply.defs: Add proc_{get,set}_code.
* hurd/process_request.defs: Add proc_{get,set}_code_request.
|
|
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.
* hurd/process.defs (proc_mark_important): New routine definitions.
* hurd/process_reply.defs (proc_mark_important_request): Likewise.
* hurd/process_request.defs (proc_mark_important_request): Likewise.
|
|
* hurd/process.defs: Reserve RPC ID for proc_set_init_task.
* hurd/process_reply.defs: Likewise.
* hurd/process_request.defs: Likewise.
|
|
Add the appropriate simpleroutine or skip directives to
hurd/process_reply.defs matching the ones in hurd/process.defs.
* hurd/process_reply.defs: Add missing routine declarations.
|
|
This change fixes a problem that can occur with non-blocking (and also
blocking for very short times) select/poll calls. The problem occurs because
the timeout is implemented at the client side. For a non-blocking call, this
means that (depending on the code path taken in the C library) the client
could get a timeout without a full RPC round-trip to the server. Moving the
implementation of the timeout to the servers guarantees a full round-trip,
and correct results for non-blocking calls.
The modifications in this change depend on the availability of the recently
added pthread_hurd_cond_timedwait_np function in libpthread.
* boot/boot.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* console-client/kbd-repeat.c (repeater_select): Add a timeout parameter.
* console-client/pc-mouse.c (repeater_select): Likewise.
* console-client/trans.c (io_select_common): New static function.
(netfs_S_io_select): Use io_select_common.
(netfs_S_io_select_timeout): New function which makes use of io_select_common.
* console-client/trans.h (struct consnode): Add a timeout parameter.
* hurd/io.defs (io_select_timeout): New MIG routine.
* hurd/io_reply.defs (io_select_timeout_reply): New MIG simpleroutine.
* hurd/io_request.defs (io_select_timeout_request): Likewise.
* libdiskfs/io-select.c (diskfs_S_io_select_timeout): New function.
* libnetfs/io-select.c (netfs_S_io_select_timeout): Likewise.
* libpipe/pipe.c (pipe_pair_select): Add a timeout parameter.
* libpipe/pipe.h (pipe_select_readable): Likewise.
(pipe_select_writable): Likewise.
(pipe_pair_select): Likewise.
* libpipe/pq.h: Include <hurd/hurd_types.h>.
* libtrivfs/io-select.c (trivfs_S_io_select_timeout): New function.
* pfinet/glue-include/linux/sched.h: Include <errno.h>.
(interruptible_sleep_on): Function removed, replaced with ...
(interruptible_sleep_on_timeout): New function.
(schedule): Update to use interruptible_sleep_on_timeout.
(schedule_timeout): Likewise.
* pfinet/io-ops.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* pfinet/tunnel.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of io_select_common.
* pflocal/connq.c (connq_listen): Replace noblock with a timeout parameter.
* pflocal/connq.h: Include <hurd/hurd_types.h>.
(connq_listen): Update declaration to replace noblock with a timeout parameter.
* pflocal/io.c (io_select_common): New static function.
(S_io_select): Use io_select_common.
(S_io_select_timeout): New function which makes use of io_select_common.
* pflocal/socket.c (S_socket_accept): Update call to connq_listen to match new
declaration.
* storeio/io.c (trivfs_S_io_select_timeout): New function.
* term/ptyio.c (pty_io_select): Add a timeout parameter.
* term/term.h (pty_io_select): Likewise.
* term/users.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of io_select_common.
* trans/fifo.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of io_select_common.
* trans/firmlink.c (trivfs_S_io_select_timeout): New function.
* trans/new-fifo.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of io_select_common.
* trans/null.c (trivfs_S_io_select_timeout): New function.
* trans/streamio.c (io_select_common): New static function.
(trivfs_S_io_select): Use io_select_common.
(trivfs_S_io_select_timeout): New function which makes use of io_select_common.
|
|
This type matches the standard struct timespec, and allows passing time
values with nanosecond precision in RPCs.
* hurd/hurd_types.defs (timespec_t): New MIG type.
* hurd/hurd_types.h: Include <time.h>.
(timespec_t): New C type, aliasing struct timespec.
|
|
* hurd/io_reply.defs (io_server_version_reply): New MIG simpleroutine.
(io_pathconf_reply): Likewise.
(io_identity_reply): Likewise.
(io_revoke_reply): Likewise.
* hurd/io_request.defs (io_select_request): Fix declaration.
(io_pathconf_request): New MIG simpleroutine.
(io_identity_request): Likewise.
(io_revoke_request): Likewise.
|
|
Makefiles, headers, types, macros and function calls are renamed where
appropriate.
Most of this work was done by Barry deFreese and Thomas DiModica.
* auth/Makefile: Switch from cthreads to pthreads.
* auth/auth.c: Likewise.
* boot/Makefile: Likewise.
* boot/boot.c: Likewise.
* boot/ux.c: Likewise.
* console-client/Makefile: Likewise.
* console-client/console.c: Likewise.
* console-client/driver.c: Likewise.
* console-client/driver.h: Likewise.
* console-client/generic-speaker.c: Likewise.
* console-client/kbd-repeat.c: Likewise.
* console-client/ncursesw.c: Likewise.
* console-client/pc-kbd.c: Likewise.
* console-client/pc-mouse.c: Likewise.
* console-client/timer.c: Likewise.
* console-client/trans.c: Likewise.
* console-client/vga.c: Likewise.
* console/Makefile: Likewise.
* console/console.c: Likewise.
* console/display.c: Likewise.
* console/input.c: Likewise.
* console/pager.c: Likewise.
* defpager/backing.c: Likewise.
* exec/Makefile: Likewise.
* exec/exec.c: Likewise.
* exec/hashexec.c: Likewise.
* exec/priv.h: Likewise.
* ext2fs/Makefile: Likewise.
* ext2fs/balloc.c: Likewise.
* ext2fs/dir.c: Likewise.
* ext2fs/ext2fs.c: Likewise.
* ext2fs/ext2fs.h: Likewise.
* ext2fs/ialloc.c: Likewise.
* ext2fs/inode.c: Likewise.
* ext2fs/msg.c: Likewise.
* ext2fs/pager.c: Likewise.
* ext2fs/pokel.c: Likewise.
* ext2fs/storeinfo.c: Likewise.
* ext2fs/truncate.c: Likewise.
* fatfs/Makefile: Likewise.
* fatfs/dir.c: Likewise.
* fatfs/fat.c: Likewise.
* fatfs/fatfs.h: Likewise.
* fatfs/inode.c: Likewise.
* fatfs/main.c: Likewise.
* fatfs/pager.c: Likewise.
* fatfs/virt-inode.c: Likewise.
* ftpfs/Makefile: Likewise.
* ftpfs/ccache.c: Likewise.
* ftpfs/ccache.h: Likewise.
* ftpfs/conn.c: Likewise.
* ftpfs/dir.c: Likewise.
* ftpfs/fs.c: Likewise.
* ftpfs/ftpfs.c: Likewise.
* ftpfs/ftpfs.h: Likewise.
* ftpfs/ncache.c: Likewise.
* ftpfs/netfs.c: Likewise.
* ftpfs/node.c: Likewise.
* hostmux/Makefile: Likewise.
* hostmux/hostmux.h: Likewise.
* hostmux/mux.c: Likewise.
* hostmux/node.c: Likewise.
* hostmux/stubs.c: Likewise.
* hurd/shared.h: Likewise.
* isofs/Makefile: Likewise.
* isofs/inode.c: Likewise.
* isofs/lookup.c: Likewise.
* isofs/main.c: Likewise.
* isofs/pager.c: Likewise.
* libcons/Makefile: Likewise.
* libcons/cons-switch.c: Likewise.
* libcons/cons.h: Likewise.
* libcons/dir-changed.c: Likewise.
* libcons/file-changed.c: Likewise.
* libcons/init-init.c: Likewise.
* libcons/vcons-close.c: Likewise.
* libcons/vcons-input.c: Likewise.
* libcons/vcons-move-mouse.c: Likewise.
* libcons/vcons-open.c: Likewise.
* libcons/vcons-scrollback.c: Likewise.
* libdiskfs/Makefile: Likewise.
* libdiskfs/boot-start.c: Likewise.
* libdiskfs/dead-name.c: Likewise.
* libdiskfs/dir-chg.c: Likewise.
* libdiskfs/dir-link.c: Likewise.
* libdiskfs/dir-lookup.c: Likewise.
* libdiskfs/dir-mkdir.c: Likewise.
* libdiskfs/dir-mkfile.c: Likewise.
* libdiskfs/dir-readdir.c: Likewise.
* libdiskfs/dir-rename.c: Likewise.
* libdiskfs/dir-renamed.c: Likewise.
* libdiskfs/dir-rmdir.c: Likewise.
* libdiskfs/dir-unlink.c: Likewise.
* libdiskfs/disk-pager.c: Likewise.
* libdiskfs/diskfs-pager.h: Likewise.
* libdiskfs/diskfs.h: Likewise.
* libdiskfs/file-access.c: Likewise.
* libdiskfs/file-chg.c: Likewise.
* libdiskfs/file-exec.c: Likewise.
* libdiskfs/file-get-fs-opts.c: Likewise.
* libdiskfs/file-get-trans.c: Likewise.
* libdiskfs/file-get-transcntl.c: Likewise.
* libdiskfs/file-getcontrol.c: Likewise.
* libdiskfs/file-getfh.c: Likewise.
* libdiskfs/file-lock-stat.c: Likewise.
* libdiskfs/file-lock.c: Likewise.
* libdiskfs/file-reparent.c: Likewise.
* libdiskfs/file-set-trans.c: Likewise.
* libdiskfs/file-sync.c: Likewise.
* libdiskfs/file-syncfs.c: Likewise.
* libdiskfs/fsys-getroot.c: Likewise.
* libdiskfs/fsys-options.c: Likewise.
* libdiskfs/fsys-syncfs.c: Likewise.
* libdiskfs/ifsock.c: Likewise.
* libdiskfs/init-first.c: Likewise.
* libdiskfs/init-init.c: Likewise.
* libdiskfs/init-startup.c: Likewise.
* libdiskfs/io-duplicate.c: Likewise.
* libdiskfs/io-get-conch.c: Likewise.
* libdiskfs/io-identity.c: Likewise.
* libdiskfs/io-map-cntl.c: Likewise.
* libdiskfs/io-map.c: Likewise.
* libdiskfs/io-modes-get.c: Likewise.
* libdiskfs/io-modes-off.c: Likewise.
* libdiskfs/io-modes-on.c: Likewise.
* libdiskfs/io-modes-set.c: Likewise.
* libdiskfs/io-owner-get.c: Likewise.
* libdiskfs/io-owner-mod.c: Likewise.
* libdiskfs/io-prenotify.c: Likewise.
* libdiskfs/io-read.c: Likewise.
* libdiskfs/io-readable.c: Likewise.
* libdiskfs/io-reauthenticate.c: Likewise.
* libdiskfs/io-rel-conch.c: Likewise.
* libdiskfs/io-restrict-auth.c: Likewise.
* libdiskfs/io-revoke.c: Likewise.
* libdiskfs/io-seek.c: Likewise.
* libdiskfs/io-sigio.c: Likewise.
* libdiskfs/io-stat.c: Likewise.
* libdiskfs/io-write.c: Likewise.
* libdiskfs/lookup.c: Likewise.
* libdiskfs/name-cache.c: Likewise.
* libdiskfs/node-drop.c: Likewise.
* libdiskfs/node-make.c: Likewise.
* libdiskfs/node-nput.c: Likewise.
* libdiskfs/node-nputl.c: Likewise.
* libdiskfs/node-nref.c: Likewise.
* libdiskfs/node-nrefl.c: Likewise.
* libdiskfs/node-nrele.c: Likewise.
* libdiskfs/node-nrelel.c: Likewise.
* libdiskfs/peropen-rele.c: Likewise.
* libdiskfs/priv.h: Likewise.
* libdiskfs/shutdown.c: Likewise.
* libdiskfs/sync-interval.c: Likewise.
* libfshelp/Makefile: Likewise.
* libfshelp/fetch-root.c: Likewise.
* libfshelp/fshelp.h: Likewise.
* libfshelp/get-identity.c: Likewise.
* libfshelp/lock-acquire.c: Likewise.
* libfshelp/lock-init.c: Likewise.
* libfshelp/locks.h: Likewise.
* libfshelp/set-active.c: Likewise.
* libfshelp/trans.h: Likewise.
* libfshelp/transbox-init.c: Likewise.
* libiohelp/Makefile: Likewise.
* libiohelp/get_conch.c: Likewise.
* libiohelp/handle_io_release_conch.c: Likewise.
* libiohelp/initialize_conch.c: Likewise.
* libiohelp/iohelp.h: Likewise.
* libiohelp/verify_user_conch.c: Likewise.
* libnetfs/Makefile: Likewise.
* libnetfs/dir-lookup.c: Likewise.
* libnetfs/dir-mkdir.c: Likewise.
* libnetfs/dir-mkfile.c: Likewise.
* libnetfs/dir-readdir.c: Likewise.
* libnetfs/dir-rmdir.c: Likewise.
* libnetfs/dir-unlink.c: Likewise.
* libnetfs/drop-node.c: Likewise.
* libnetfs/file-chauthor.c: Likewise.
* libnetfs/file-check-access.c: Likewise.
* libnetfs/file-chflags.c: Likewise.
* libnetfs/file-chmod.c: Likewise.
* libnetfs/file-chown.c: Likewise.
* libnetfs/file-exec.c: Likewise.
* libnetfs/file-get-storage-info.c: Likewise.
* libnetfs/file-get-translator.c: Likewise.
* libnetfs/file-lock-stat.c: Likewise.
* libnetfs/file-lock.c: Likewise.
* libnetfs/file-reparent.c: Likewise.
* libnetfs/file-set-size.c: Likewise.
* libnetfs/file-set-translator.c: Likewise.
* libnetfs/file-statfs.c: Likewise.
* libnetfs/file-sync.c: Likewise.
* libnetfs/file-syncfs.c: Likewise.
* libnetfs/file-utimes.c: Likewise.
* libnetfs/fsys-getroot.c: Likewise.
* libnetfs/fsys-set-options.c: Likewise.
* libnetfs/init-init.c: Likewise.
* libnetfs/io-clear-some-openmodes.c: Likewise.
* libnetfs/io-duplicate.c: Likewise.
* libnetfs/io-get-openmodes.c: Likewise.
* libnetfs/io-get-owner.c: Likewise.
* libnetfs/io-identity.c: Likewise.
* libnetfs/io-mod-owner.c: Likewise.
* libnetfs/io-read.c: Likewise.
* libnetfs/io-readable.c: Likewise.
* libnetfs/io-reauthenticate.c: Likewise.
* libnetfs/io-restrict-auth.c: Likewise.
* libnetfs/io-revoke.c: Likewise.
* libnetfs/io-seek.c: Likewise.
* libnetfs/io-set-all-openmodes.c: Likewise.
* libnetfs/io-set-some-openmodes.c: Likewise.
* libnetfs/io-stat.c: Likewise.
* libnetfs/io-write.c: Likewise.
* libnetfs/make-node.c: Likewise.
* libnetfs/netfs.h: Likewise.
* libnetfs/nput.c: Likewise.
* libnetfs/nref.c: Likewise.
* libnetfs/nrele.c: Likewise.
* libnetfs/release-peropen.c: Likewise.
* libnetfs/shutdown.c: Likewise.
* libpager/Makefile: Likewise.
* libpager/chg-compl.c: Likewise.
* libpager/clean.c: Likewise.
* libpager/data-request.c: Likewise.
* libpager/data-return.c: Likewise.
* libpager/data-unlock.c: Likewise.
* libpager/inhibit-term.c: Likewise.
* libpager/lock-completed.c: Likewise.
* libpager/lock-object.c: Likewise.
* libpager/mark-error.c: Likewise.
* libpager/no-senders.c: Likewise.
* libpager/object-init.c: Likewise.
* libpager/object-terminate.c: Likewise.
* libpager/offer-page.c: Likewise.
* libpager/pager-attr.c: Likewise.
* libpager/pager-create.c: Likewise.
* libpager/pager-shutdown.c: Likewise.
* libpager/priv.h: Likewise.
* libpager/seqnos.c: Likewise.
* libpipe/Makefile: Likewise.
* libpipe/pipe.c: Likewise.
* libpipe/pipe.h: Likewise.
* libports/Makefile: Likewise.
* libports/begin-rpc.c: Likewise.
* libports/bucket-iterate.c: Likewise.
* libports/claim-right.c: Likewise.
* libports/class-iterate.c: Likewise.
* libports/complete-deallocate.c: Likewise.
* libports/count-bucket.c: Likewise.
* libports/count-class.c: Likewise.
* libports/create-bucket.c: Likewise.
* libports/create-internal.c: Likewise.
* libports/destroy-right.c: Likewise.
* libports/enable-bucket.c: Likewise.
* libports/enable-class.c: Likewise.
* libports/end-rpc.c: Likewise.
* libports/get-right.c: Likewise.
* libports/import-port.c: Likewise.
* libports/inhibit-all-rpcs.c: Likewise.
* libports/inhibit-bucket-rpcs.c: Likewise.
* libports/inhibit-class-rpcs.c: Likewise.
* libports/inhibit-port-rpcs.c: Likewise.
* libports/init.c: Likewise.
* libports/interrupt-notified-rpcs.c: Likewise.
* libports/interrupt-on-notify.c: Likewise.
* libports/interrupt-operation.c: Likewise.
* libports/interrupt-rpcs.c: Likewise.
* libports/interrupted.c: Likewise.
* libports/lookup-port.c: Likewise.
* libports/manage-multithread.c: Likewise.
* libports/no-senders.c: Likewise.
* libports/port-deref-weak.c: Likewise.
* libports/port-deref.c: Likewise.
* libports/port-ref-weak.c: Likewise.
* libports/port-ref.c: Likewise.
* libports/ports.h: Likewise.
* libports/reallocate-from-external.c: Likewise.
* libports/reallocate-port.c: Likewise.
* libports/resume-all-rpcs.c: Likewise.
* libports/resume-bucket-rpcs.c: Likewise.
* libports/resume-class-rpcs.c: Likewise.
* libports/resume-port-rpcs.c: Likewise.
* libports/stubs.c: Likewise.
* libports/transfer-right.c: Likewise.
* libstore/Makefile: Likewise.
* libstore/gunzip.c: Likewise.
* libstore/part.c: Likewise.
* libstore/unzipstore.c: Likewise.
* libthreads/Makefile: Likewise.
* libtreefs/dir-lookup.c: Likewise.
* libtreefs/fsys-getroot.c: Likewise.
* libtreefs/fsys-hooks.c: Likewise.
* libtreefs/fsys.c: Likewise.
* libtreefs/trans-help.c: Likewise.
* libtreefs/trans-start.c: Likewise.
* libtreefs/treefs.h: Likewise.
* libtrivfs/cntl-create.c: Likewise.
* libtrivfs/dyn-classes.c: Likewise.
* libtrivfs/io-reauthenticate.c: Likewise.
* libtrivfs/io-restrict-auth.c: Likewise.
* libtrivfs/protid-clean.c: Likewise.
* libtrivfs/protid-dup.c: Likewise.
* libtrivfs/trivfs.h: Likewise.
* mach-defpager/Makefile: Likewise.
* mach-defpager/default_pager.c: Likewise.
* mach-defpager/kalloc.c: Likewise.
* mach-defpager/main.c: Likewise.
* nfs/Makefile: Likewise.
* nfs/cache.c: Likewise.
* nfs/main.c: Likewise.
* nfs/mount.c: Likewise.
* nfs/name-cache.c: Likewise.
* nfs/nfs.h: Likewise.
* nfs/ops.c: Likewise.
* nfs/rpc.c: Likewise.
* nfsd/Makefile: Likewise.
* nfsd/cache.c: Likewise.
* nfsd/loop.c: Likewise.
* nfsd/main.c: Likewise.
* nfsd/nfsd.h: Likewise.
* pfinet/Makefile: Likewise.
* pfinet/ethernet.c: Likewise.
* pfinet/glue-include/asm/spinlock.h: Likewise.
* pfinet/glue-include/linux/interrupt.h: Likewise.
* pfinet/glue-include/linux/sched.h: Likewise.
* pfinet/glue-include/linux/timer.h: Likewise.
* pfinet/glue-include/linux/wait.h: Likewise.
* pfinet/iioctl-ops.c: Likewise.
* pfinet/io-ops.c: Likewise.
* pfinet/kmem_cache.c: Likewise.
* pfinet/main.c: Likewise.
* pfinet/options.c: Likewise.
* pfinet/pfinet-ops.c: Likewise.
* pfinet/pfinet.h: Likewise.
* pfinet/sched.c: Likewise.
* pfinet/socket-ops.c: Likewise.
* pfinet/socket.c: Likewise.
* pfinet/timer-emul.c: Likewise.
* pfinet/tunnel.c: Likewise.
* pflocal/Makefile: Likewise.
* pflocal/connq.c: Likewise.
* pflocal/io.c: Likewise.
* pflocal/sock.c: Likewise.
* pflocal/sock.h: Likewise.
* pflocal/socket.c: Likewise.
* pflocal/sserver.c: Likewise.
* proc/Makefile: Likewise.
* proc/info.c: Likewise.
* proc/main.c: Likewise.
* proc/mgt.c: Likewise.
* proc/msg.c: Likewise.
* proc/proc.h: Likewise.
* proc/stubs.c: Likewise.
* proc/wait.c: Likewise.
* storeio/Makefile: Likewise.
* storeio/dev.c: Likewise.
* storeio/dev.h: Likewise.
* storeio/open.c: Likewise.
* storeio/open.h: Likewise.
* storeio/pager.c: Likewise.
* storeio/storeio.c: Likewise.
* term/Makefile: Likewise.
* term/devio.c: Likewise.
* term/hurdio.c: Likewise.
* term/main.c: Likewise.
* term/munge.c: Likewise.
* term/ptyio.c: Likewise.
* term/term.h: Likewise.
* term/users.c: Likewise.
* tmpfs/Makefile: Likewise.
* tmpfs/dir.c: Likewise.
* tmpfs/node.c: Likewise.
* tmpfs/tmpfs.c: Likewise.
* tmpfs/tmpfs.h: Likewise.
* trans/Makefile: Likewise.
* trans/fakeroot.c: Likewise.
* trans/fifo.c: Likewise.
* trans/hello-mt.c: Likewise.
* trans/new-fifo.c: Likewise.
* trans/streamio.c: Likewise.
* ufs/Makefile: Likewise.
* ufs/alloc.c: Likewise.
* ufs/dir.c: Likewise.
* ufs/hyper.c: Likewise.
* ufs/inode.c: Likewise.
* ufs/main.c: Likewise.
* ufs/pager.c: Likewise.
* ufs/pokeloc.c: Likewise.
* ufs/sizes.c: Likewise.
* ufs/ufs.h: Likewise.
* usermux/Makefile: Likewise.
* usermux/mux.c: Likewise.
* usermux/node.c: Likewise.
* usermux/usermux.h: Likewise.
* utils/Makefile: Likewise.
* utils/fakeauth.c: Likewise.
* utils/rpctrace.c: Likewise.
|
|
* Makefile (MSGIDS): New variable.
(all, install-msgids, $(datadir)/msgids): New targets.
(install): Specify install-header and install-msgids as
prerequisites.
|
|
* Makeconf (lndist): Remove target.
(dist-hook, dist.tar): New targets.
* Makefile (dist): Rewrite this target's as well as accompanying rules.
(%-lndist, cp-linked-files, $(lf-inst)): Remove targets.
(%.bz2, %.gz, %/dist-hook): New targets.
(DISTFILES): Set.
* doc/Makefile (DISTFILES): Set.
* doc/Makefile (lndist, lndist-info-targets): Remove targets.
* include/Makefile (lndist): Remove target.
* libthreads/Makefile (lndist, lndist-i386-files, lndist-map-file): Remove
targets.
* pfinet/Makefile (lndist, lndist-linux-src-net-core-files)
(lndist-linux-src-net-ethernet-files, lndist-linux-src-net-ipv4-files)
(lndist-linux-src-net-ipv6-files, lndist-linux-src-asm-files)
(lndist-linux-src-include-linux-files, lndist-linux-src-include-net-files)
(lndist-linux-src-include-asm-files, lndist-glue-include-linux-files)
(lndist-glue-include-asm-files): Remove targets.
* auth/Makefile (LCLHDRS): Don't set.
* boot/Makefile (LCLHDRS, DIST_FILES): Likewise.
* bsdfsck/Makefile (LCLHDRS): Likewise.
* config/Makefile (DIST_FILES): Likewise.
* console-client/Makefile (LCLHDRS): Likewise.
* console/Makefile (LCLHDRS, DIST_FILES): Likewise.
* doc/Makefile (DIST_FILES): Likewise.
* exec/Makefile (LCLHDRS, DIST_FILES): Likewise.
* ext2fs/Makefile (LCLHDRS): Likewise.
* fatfs/Makefile (LCLHDRS): Likewise.
* ftpfs/Makefile (LCLHDRS): Likewise.
* hostmux/Makefile (LCLHDRS): Likewise.
* hurd/Makefile (DIST_FILES): Likewise.
* include/Makefile (LCLHDRS): Likewise.
* isofs/Makefile (LCLHDRS, DIST_FILES): Likewise.
* libcons/Makefile (LCLHDRS): Likewise.
* libdirmgt/Makefile (LCLHDRS): Likewise.
* libdiskfs/Makefile (LCLHDRS): Likewise.
* libfshelp/Makefile (LCLHDRS): Likewise.
* libftpconn/Makefile (LCLHDRS): Likewise.
* libihash/Makefile (LCLHDRS): Likewise.
* libiohelp/Makefile (LCLHDRS): Likewise.
* libnetfs/Makefile (LCLHDRS): Likewise.
* libpager/Makefile (LCLHDRS): Likewise.
* libpipe/Makefile (LCLHDRS): Likewise.
* libports/Makefile (LCLHDRS): Likewise.
* libps/Makefile (LCLHDRS): Likewise.
* libshouldbeinlibc/Makefile (LCLHDRS): Likewise.
* libstore/Makefile (LCLHDRS, DIST_FILES): Likewise.
* libthreads/Makefile (LCLHDRS): Likewise.
* libtreefs/Makefile (LCLHDRS): Likewise.
* libtrivfs/Makefile (LCLHDRS): Likewise.
* mach-defpager/Makefile (LCLHDRS): Likewise.
* nfs/Makefile (LCLHDRS): Likewise.
* nfsd/Makefile (LCLHDRS): Likewise.
* pfinet/Makefile (LCLHDRS): Likewise.
* pflocal/Makefile (LCLHDRS): Likewise.
* proc/Makefile (LCLHDRS, DIST_FILES): Likewise.
* release/Makefile (DIST_FILES): Likewise.
* storeio/Makefile (LCLHDRS): Likewise.
* sutils/Makefile (LCLHDRS): Likewise.
* term/Makefile (LCLHDRS, DIST_FILES): Likewise.
* tmpfs/Makefile (LCLHDRS): Likewise.
* ufs-fsck/Makefile (LCLHDRS): Likewise.
* ufs/Makefile (LCLHDRS): Likewise.
* usermux/Makefile (LCLHDRS): Likewise.
* utils/Makefile (LCLHDRS): Likewise.
|
|
* hurd/configure: Remove file.
* hurd/configure.ac: Likewise.
* hurd/install-headers.in: Likewise.
|
|
The reply_port is only the correct control port when RPCs are from the kernel,
not from e.g. tmpfs, such as default_pager_object_set_size calls.
* mach-defpager/default_pager.c (seqnos_memory_object_terminate,
S_default_pager_object_set_size): Make default pager use its own memory object
control ports for external objects, remove reply_to parameter.
* trans/proxy-defpager.c (S_default_pager_object_set_size): Remove reply_to
parameter.
* hurd/default_pager.defs (default_pager_object_set_size): Remove unused
parameter.
|
|
* Fix spelling with codespell[1] and manually review it.
[1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
|
|
* hurd/pfinet.defs (pfinet_siocgifconf): Document that -1 is used for "all
interfaces".
* pfinet/pfinet-ops.c (S_pfinet_siocgifconf): Compare amount with
`(vm_size_t) -1' instead of '< 0' (which can never happen).
|
|
Add (and implement) a proc RPC to obtain the number of Mach ports used
by the target task.
Add infrastructure in libps to read this information.
* hurd/process.defs (proc_getnports): New RPC.
* hurd/process_request.defs (proc_getnports_request): New RPC.
* libps/procstat.c (proc_stat_set_flags): Call proc_getnports RPC if
needed.
* libps/ps.h (proc_stat): New `num_ports' field.
(PSTAT_NUM_PORTS): New macro.
(proc_stat_num_ports): New macro.
* libps/spec.c (ps_get_num_ports): New function.
(ps_num_ports_getter): New variable.
(specs): New entry for `ps_num_ports_getter'.
* proc/info.c (S_proc_getnports): New function.
|
|
|
|
* hurd/console.h (CONS_WCHAR_MASK, CONS_WCHAR_CONTINUED): New macros.
* console/console.c: Include <locale.h>
(main): Call setlocale.
* console/display.c (display_output_one): Call wcwidth() to know the
width of the character to be displayed. Iterate over this with to insert
characters with the additional CONS_WCHAR_CONTINUED flag. Update
screen_shift_right and display_record_filechange calls accordingly.
* console-client/vga-dynafont.c (WCHAR_BOLD, WCHAR_ITALIC, WCHAR_MASK):
Change macro values.
(dynafont_new): Use glyph->bbox.{width,height} instead of
df->font->bbox.{width,height}.
(dynafont_change_font): Likewise.
(dynafont_lookup_internal): Likewise.
Mask out CONS_WCHAR_CONTINUED before calling bdf_find_glyph, but test it
for the second position of a double-width glyph.
(dynafont_activate): Enable 9-bit width only when font width is not
dividable by 8.
|
|
* 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.
|
|
* iioctl.defs (iioctl_siocgifhwaddr): New RPC.
|
|
* fsys_reply.defs (fsys_syncfs_reply): Fix typo. Reported by Austin
Thompson.
|
|
* kdioctl.defs: New file.
|
|
|
|
* io.defs (io_read, io_write, io_select): Comment fixes.
|
|
* console.h (CONS_MOUSE_OFFSET_BASE): Redefined to 0x20.
|
|
|
|
* configure.ac: New file.
* configure: New file.
* install-headers.in: New file.
|
|
|