Age | Commit message (Collapse) | Author |
|
Previously the number of total threads and the number of unused
threads was wrong if at one point the creation of a thread failed. Fix
this by decrementing both counters that were previously optimistically
incremented. Adjust the comment accordingly.
* libports/manage-multithread.c (ports_manage_port_operations_multithread):
Fix the thread counts in case the thread creation fails.
|
|
Some files were not normalized. In console/motd.UTF8 the additional
newline is intentional. Empty files were excluded as well.
|
|
Unlike other devices, sending packets on the loopback device causes the
netif_rx() function to be called from the net_bh worker thread. Since
the thread is already running, it can't wake itself up when calling
mark_bh(). Use a new variable to indicate when net_bh work is pending.
* glue-include/linux/interrupt.h (net_bh_raised): Declare new global
variable.
(mark_bh): Set net_bh_raised to 1 before waking up net_bh worker thread.
* loopback.c (loopback_xmit): Add comment giving details about locking.
* sched.c (net_bh_raised): Define new global variable.
(net_bh_worker): Wait for net_bh_raised to become true and reset it
before processing net_bh work.
|
|
Previously any err value set before reaching lose: was overwritten and
thus not properly propagated.
Found using the Clang Static Analyzer.
* libports/create-internal.c (_ports_create_port_internal): Fix error
handling.
|
|
Reported by Justus Winter
* libtrivfs/protid-clean.c (trivfs_clean_protid): New variable `cntl` factorizes
access to `cred->po->cntl`, and fixes use after free of cred->po.
|
|
Found using the Clang Static Analyzer.
* libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
|
|
* exec/Makefile: Remove commented out lines related to BFD.
* exec/hostarch.c: Remove all BFD related code.
* exec/main.c: Likewise.
|
|
* configure.ac: Properly escape the test for X11/keysymdef.h using
AC_LANG_SOURCE.
|
|
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
|
|
* console/hurd.ti (xenl): Add capability.
|
|
Whether CUD scrolls the screen or not is implementation-dependant.
Applications are not supposed to assume one way or the other, but they
sometimes do, and most implementations do scroll, so let's stick to common
practice.
* console/display.c (handle_esc_bracket): On CUD/VPR, scroll the screen
instead of capping the cursor position.
|
|
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
|
|
* pflocal/socket.c (S_socket_recv): Set the memory pointed by out_flags
to 0 instead of the pointer.
|
|
The socket_send and socket_recv routines can be used to transmit port
rights along data. Unfortunately, pflocal retains a copy of these rights
in the socket_recv RPC. These lingering references would in turn lead to
other leaks in servers waiting for a no-sender notification to clean
their resources. Since these copied rights aren't used at all by the
server, it is safe to simply move them to the recipient instead.
* pflocal/socket.c (S_socket_recv): Transmit port rights using
MACH_MSG_TYPE_MOVE_SEND transfer type instead of MACH_MSG_TYPE_COPY_SEND.
|
|
When the file system supports ifsock shortcuts, a socket node can obtain
a right on a socket address. This reference is only lost if the address
is destroyed, through a dead-name notification. On the other hand,
pflocal keeps the address around until all references are dropped. This
leads to a situation where socket nodes, addresses, and their associated
sockets are leaked. To remedy the situation, make addresses get a light
reference on socket nodes, and properly deallocate it when the node is
destroyed, which will in turn make pflocal correctly remove the matching
address and socket.
* libdiskfs/ifsock.c (diskfs_S_ifsock_getsockaddr): Add a light reference
instead of a hard one.
* libdiskfs/node-nput.c (diskfs_nput): Deallocate right to socket address
when cleaning light references.
|
|
Sockets must have a weak reference on the address they're bound to so
that addr_unbind is properly called before addr_clean. For sockets that
are automatically bound, this weak reference is created in ensure_addr.
Do the same in sock_bind.
* pflocal/sock.c (sock_bind): Handle weak reference on addr.
|
|
* term/ptyio.c (pty_io_read): Return EIO if the terminal has been closed.
|
|
* console-client/console.c (main): Replace epilogue with console_exit.
|
|
* console-client/console.c (main): Minor stylistic fix.
|
|
Fix the error handling in console_move_mouse. This also appeases the
compiler.
* console-client/console.c (console_move_mouse): Fix error handing.
|
|
* console-client/input.h (console_exit): Add noreturn attribute.
|
|
Remove the pid file if the console client exits either cleanly using
console_exit or because of an error during daemonization.
* console-client/console.c (console_exit): Remove the pid file.
(daemon_error): Likewise.
|
|
Previously the dynamically allocated field name leaks. Fix this by
properly freeing the objects of type struct translator.
* libfshelp/translator-list.c (translator_ihash_cleanup): Fix memory leak.
|
|
Rename the global variable "path" to "target_path" to make it more
unambiguous.
* trans/mtab.c: Rename global variable "path".
|
|
This reverts commit 7075bc11289355478659cd1610632a9299734afc.
Dropping the unix privileges of the tmpfs translator causes problems
with the passive translator startup. The function fshelp_fetch_root
creates an auth handle containing the processes original UID and
GID. But if the privileges were dropped before, this operation fails
with EPERM.
This commit also broke mkfifo(3), possibly for similar or related
reasons.
* tmpfs/tmpfs.c (main): Do not drop all privileges.
|
|
* exec/hashexec.c (check_hashbang): Unmap command arguments.
|
|
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Properly jump to the
single exit point if fshelp_fetch_root fails.
|
|
* libdiskfs/file-set-size.c (diskfs_S_file_set_size): Return EINVAL if
size is negative.
* libnetfs/file-set-size.c (netfs_S_file_set_size): Likewise.
* libtreefs/s-file.c (treefs_S_file_set_size): Likewise.
* storeio/io.c (trivfs_S_file_set_size): Likewise.
* term/users.c (trivfs_S_file_set_size): Likewise.
* trans/null.c (trivfs_S_file_set_size): Likewise.
* trans/streamio.c (trivfs_S_file_set_size): Likewise.
|
|
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Properly jump to the
single exit point if fshelp_fetch_root fails.
|
|
* configure.ac (AC_INIT): Set version to 0.5.
(AC_REVISION): Remove.
* NEWS: Finalize changes for 0.5.
* INSTALL: Update.
* INSTALL-cross: Likewise.
* README.CVS: Delete, but move some content...
* README: ... here. Update.
|
|
* config.make.in (package-version): New variable.
(hurd-version): Set to 0.3.
* Makeconf (%: %.sh): Use package-version instead of hurd-version.
* Makefile (stamp-version): Likewise.
* doc/Makefile (stamp-version): Likewise.
|
|
* gitlog-to-changelog: New file; import from gnulib's
9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog.
* Makefile (ChangeLog.tar, gen-ChangeLog): New targets.
($(dist-version).tar): Depend on and use the former.
(clean-misc): Clean up the generated files.
|
|
* ChangeLog: Don't refer to bsdfsck/ChangeLog, ufs/ChangeLog,
ufs-fsck/ChangeLog, ufs-utils/ChangeLog.
Fixup for commit 84cf9c0f312637b670cc87224ff7e7c4da659e36.
|
|
Fixup for commit a8744157214a302d84c8959b1ae99abe3ae2d7d2.
|
|
* README: Update mailing lists.
|
|
* doc/hurd.texi (BSD Unix FS): Remove link to dropped section.
|
|
* pflocal/sock.c (sock_connect, sock_shutdown): Rename SOCK_CONNECTED to
PFLOCAL_SOCK_CONNECTED.
|
|
* configure.ac (--without-daemon): Add option to disable libdaemon pkgconfig
test.
|
|
* utils/storeinfo.c (parse_opt): Do not deallocate `file` port, `store_free`
does it already.
|
|
Using PID 0 is problematic for various reasons. Make /hurd/proc run as
PID 3 instead.
* include/pids.h: Make /hurd/proc PID 3.
|
|
Using PID 0 causes various problems. This makes genpid skip PID 0.
* proc/mgt.c (genpid): Start PIDs at 1.
|
|
* utils/rpctrace.c (parse_msgid_list): Use %ms instead of %as in sscanf
format.
|
|
* console-client/pc-mouse.c (input_loop): Return NULL.
|
|
* console-client/xkb/kstoucs.c (find_ucs): Return 0 by default.
|
|
* console-client/pc-kbd.c (gnumach_v1_input_next) [XKB_SUPPORT]: Do not
define `up` and `sc` variables.
|
|
To avoid conflicting with glibc's SOCK_*
* pflocal/io.c, pflocal/sock.c, pflocal/sock.h, pflocal/socket.c: Rename
SOCK_CONNECTED into PFLOCAL_SOCK_CONNECTED,
SOCK_NONBLOCK into PFLOCAL_SOCK_NONBLOCK,
SOCK_SHUTDOWN_READ into PFLOCAL_SOCK_SHUTDOWN_READ,
SOCK_SHUTDOWN_WRITE into PFLOCAL_SOCK_SHUTDOWN_WRITE.
|
|
* pflocal/io.c (copy_time): Make `to_nsec` parameter a long * instead of an
unsigned long *.
|
|
* isofs/pager.c (pager_read_page): Return error returned by `store_read`, if
any.
|
|
* isofs/lookup.c (dirscanblock): Cast entry->name into const char * before
passing to isonamematch.
|
|
* isofs/inode.c (read_disknode): Cast dr->date into char* before calling
`isodate_915`.
|