summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-08-27Keep a reference on objects to preserve their content.Samuel Thibault
Modify tmpfs to keep a reference (by mapping it into its own space) to each memory object created by the user, so they don't get inmediately terminated at the end of the current operation. * tmpfs/tmpfs.h (struct disknode): Add `memref' field. * tmpfs/node.c (diskfs_get_filemap): vm_map() the first page of the newly-allocated object, store in `memref' field. (diskfs_free_node) vm_deallocate the page pointed by `memref' field.
2010-08-27Fix default_pager default_pager_object_set_size parametersSamuel Thibault
As suggested by Sergio Lopez. * serverboot/default_pager.c (S_default_pager_object_set_size): Exchange `seqno' and `reply_to' parameters.
2010-08-27make unblocked reads from external objects return a zeroed page.Sergio Lopez
* serverboot/default_pager.c (struct dstruct): Add boolean_t external field. (default_pager_add): Set ds->external to TRUE or FALSE depending whether the object is external. (default_read): Add external parameter. If no_block(block) returns 1, if external is TRUE, zero fill the page and return PAGER_SUCCESS instead of PAGER_ABSENT. (seqnos_memory_object_data_request): Pass ds->external as additional parameter to default_read.
2010-08-27Fix missing mutex unlock.Sergio Lopez
* serverboot/default_pager.c (pager_read_offset): Properly unlock the mutex before returning NO_BLOCK.
2010-08-26libps (proc_stat_set_flags): Fix pointer signedness warningJeremie Koenig
* libps/procstat.c (proc_stat_set_flags): Cast &ps->umask into (int*) before calling ps_msg_get_init_int.
2010-08-26Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurdSamuel Thibault
2010-08-26libps (fetch_procinfo): Fix non-set flag PSTAT_TASK_EVENTSJeremie Koenig
The fetch_procinfo function failed to set the PSTAT_TASK_EVENTS when those has been retreived. It should be noted that GNU Mach does not support the TASK_EVENTS_INFO flavor, so this is of minor importance. The new code also checks that all the requested proc server flags related to a given proc_stat flags have been returned before setting the proc_stat flag in question. * libps/procstat.c (fetch_procinfo): Add map array containing `ps_flags_t' and `procinfo' flags. Use it in a loop to check for flags in `need' and `have' and set them in `pi_flags'. Likewise to check for flags in `pi_flags' and set them in `have'.
2010-08-26libps (_proc_stat_free): Fix memory leakJeremie Koenig
The thread_waits field was never freed; this change adds the code to do so if the corresponding flag is set. Users are also warned of the consequences, namely, that they should not free process proc_stats before all their associated thread ones are gone, since the latter may reference the former's thread_waits field. However, with the normal interface (ie. ps_context_free), all proc_stats are freed at once, so this is not an issue. * libps/procstat.c (_proc_stat_free): Free ps->thread_waits if PSTAT_THREAD_WAITS flag is set. * libps/ps.h (_proc_stat_free): Document that thread proc_stats must be freed before process proc_stat can be.
2010-08-26libps: Fix deadly typoJeremie Koenig
PSTAT_PROCINFO is a set of flags, some of which can be obtained in alternative ways. In this case, _proc_stat_free will try to deallocate an uninitialised field. PSTAT_PROC_INFO is the flag we want. * libps/procstat.c (_proc_stat_free): Use PSTAT_PROC_INFO instead of PSTAT_PROCINFO.
2010-08-18Fix the build system to handle part storesJeremie Koenig
Part stores are used for debian-installer, and they're considered more elegant than kernel partition devices. This patch makes sure they're included in the build unless the user disables them explicitely. * Makeconf: add $(PARTED_LIBS) to static binaries which use libstore_part.a. * configure.in: look for libparted again (see also 7c7a04eb). * libstore/Makefile (store-types): include the 'part' store type when appropriate, remove the previous attempt. Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
2010-08-02Partially revert 8451b436 to fix halt/rebootSamuel Thibault
init/init.c (S_msg_sig_post_untraced): Ignore result of msg_sig_post_untraced_reply. (S_msg_sig_post): Likewise.
2010-08-01pfinet: check return value of mmap() in S_io_read() and S_socket_recv()Olaf Buddenhagen
* pfinet/io-ops.c (S_io_read): Check return value. * pfinet/socket-ops.c (S_socket_recv): Likewise.
2010-08-01Fix "make dist" in `sutils'.Ludovic Courtès
* sutils/Makefile (SRCS): Add `clookup.c', `fstab.c', and `update.c'.
2010-08-01Fix "make dist" in `libthreads'.Ludovic Courtès
* libthreads/Makefile (lndist, lndist-map-file): New targets. Link `libthreads.map' to the distribution directory.
2010-08-01Fix "make dist" in `libcons'.Ludovic Courtès
* libcons/Makefile (LCLHDRS): Add `$(installhdrs)'.
2010-08-01Fix "make dist" in `include'.Ludovic Courtès
* include/Makefile (lndist): New target. Copy `Makefile' and `$(installhdrs)' to the distribution directory.
2010-08-01Fix "make dist" in `exec'.Ludovic Courtès
* exec/Makefile (SRCS): Refer to `$(gzip-sources)' and `$(bzip2-sources)' instead of listing files individually. (gzip-sources, bzip2-sources): New variable. (gzip-objects, bzip2-objects): Derive from the above variables.
2010-08-01Fix "make dist" in `daemons'.Ludovic Courtès
* daemons/Makefile (SRCS): Add `runsystem.sh'.
2010-08-01Fix "make dist" in `console-client'.Ludovic Courtès
This patch updates the list of headers to be included in the distribution, and makes it so that `kdioctlServer.c' isn't built and distributed by "make dist". * console-client/Makefile (PC_KBD_SO_SRCS): Remove `kdioctlServer.c'. (LCLHDRS): Remove `vga.h', add `vga-support.h' and `trans.h'. (OBJS): Add `kdioctlServer.o'. (pc_kbd.so.$(hurd-version)): Add dependency on `kdioctlServer_pic.o'.
2010-08-01Fix copyrightsSamuel Thibault
2010-08-01Add wide character support to the Hurd consoleJeremie Koenig
* 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.
2010-08-01Simplify error exit pathSamuel Thibault
* libpager/data-request.c (_pager_seqnos_memory_object_data_request): Use allow_release_out label instead of re-doing unlocks by hand.
2010-08-01Fix swap on large devicesJeremie Koenig
DEV_GET_SIZE values overflow with large devices, rather use DEV_GET_RECORDS. * mach-defpager/setup.c (S_default_pager_paging_storage): Use DEV_GET_RECORDS instead of DEV_GET_SIZE.
2010-08-01Implement file_replarent in libtrivfsJeremie Koenig
* libtrivfs/file-reparent.c (trivfs_S_file_reparent): Call trivfs_S_io_duplicate.
2010-08-01Fix libdiskfs bootstrap race conditionJeremie Koenig
exec_exec() probably triggers a call to file_exec(), so the exec server port needs to be cached earlier. * libdiskfs/boot-start.c: Move caching the exec server port to just after initializing it.
2010-07-27Fix -g/-m console vga driver optionsSamuel Thibault
* console-client/vga.c (parse_opt): Reverse -g and -m option effect to match documentation.
2010-07-17Implement getsockopt (fd, SOL_SOCKET, SO_TYPE)Emilio Pozuelo Monfort
* pflocal/socket.c (S_socket_getopt): Add SO_TYPE support. (S_socket_setopt): Fix return value.
2010-06-30Revert "Call device_close on store closure"Samuel Thibault
This reverts commit 1bb5a381a2e2f345beb1ca8d019b6174b13bb125. storeio can actually pass the device port to other processes, through file_get_storage_info for instance, these may then want to use it, even after storeio has closed its port.
2010-06-28Fix memory leak on receive errorSamuel Thibault
* pfinet/io-ops.c (S_io_read): On error, free data array if it was allocated.
2010-06-28Fix memory leak on schedule_timeoutSamuel Thibault
* pfinet/glue-include/linux/sched.h (schedule_timeout): Make the automatically-allocated wait_queue pointer static instead of dynamic (and lost).
2010-06-25Call device_close on store closureSamuel Thibault
* libstore/device.c (dclose): Call device_close before deallocating the device port.
2010-06-23Ignore the "defaults" mount optionJeremie Koenig
* utils/mount.c (do_mount): Ignore the "defaults" option.
2010-06-18Build part only when parted support is enabledSamuel Thibault
* libstore/Makefile (store-types): Remove part. [HAVE_PARTED] (store-types): Add part. [HAVE_PARTED] (libstore.so-LDLIBS): Add -lparted.
2010-06-18Fix parted supportSamuel Thibault
* libstore/Makefile (store-types): Add part. * libstore/part.c: Do not include <parted/device_gnu.h> (PED_SECTOR_SIZE): Define to PED_SECTOR_SIZE_DEFAULT if undefined. (store_part_create): Do not check value returned by ped_disk_destroy.
2010-05-26Fix --version in scriptsCarl Fredrik Hammar
* Makeconf (%): Don't depend on removed files. Remove excess backslashes.
2010-03-21Fix allowing termination on some error pathSamuel Thibault
* libpager/data-request.c (_pager_seqnos_memory_object_data_request): when _pager_pagemap_resize returns an error, instead of goto release_out, goto new label allow_release_out thats calls _pager_allow_termination before proceeding with release_out.
2010-02-07Fix ext2fs mount with sparse storeSamuel Thibault
2010-02-06 Carl Fredrik Hammar <hammy.lite@gmail.com> * ext2fs/storeinfo.c (diskfs_S_file_get_storage_info): Return EOPNOTSUPP instead of store if file contains holes.
2010-02-07Fix ps segfault when given empty format stringSamuel Thibault
2010-02-02 Carl Fredrik Hammar <hammy.lite@gmail.com> * utils/ps.c (main): Move format parsing to parse_opt() and pass state to parse_enum().
2010-01-11Fix tmpfs assertionSamuel Thibault
* tmpfs/tmpfs.h (tmpfs_dirent): Add padding field to push the name field after its position in struct dirent.
2010-01-11Make MAKEDEV bash-freeSamuel Thibault
* sutils/MAKEDEV.sh (cmd, st, lose, mkdev): Remove function, add (). (mkdev): Use ${I#???} instead of ${I:3}.
2009-12-28Fix duplicate port deallocation on errorSamuel Thibault
* proc/info.c (S_proc_register_version): Do not deallocate port `credential' when err != 0.
2009-12-26Fix exec shell check for really small filesSamuel Thibault
* exec/hashexec.c (check_hashbang): Set `e->error' to 0 before calling map(). On error, check `e->error' instead of `errno', and default `e->error' to ENOEXEC.
2009-12-22Fix duplicate port deallocationSamuel Thibault
* proc/notify.c (do_mach_notify_dead_name): Do not call mach_port_deallocate on `deadport' on failure.
2009-12-21Fix duplicate oldtask port deallocationSamuel Thibault
* exec/exec.c (do_exec): Do not deallocate oldtask when newtask != oldtask before the `out:' label since it is done again after it.
2009-12-21Fix spurious newport deallocationSamuel Thibault
* auth/auth.c (S_auth_server_authenticate): On MIG stub failure, deallocate the reply port by hand instead of letting the main message loop do it, since the latter would deallocate newport too, which we passed to the user.
2009-12-20Fix spurious authenticate EINTRSamuel Thibault
* auth/auth.c (S_auth_user_authenticate): Do not return EINTR if user is not pending any more, i.e. server actually already answered. (S_auth_server_authenticate): Do not return EINTR if server is not pending any more, i.e. user actually already answered.
2009-12-20Fix port leak when directly calling MIG stubsSamuel Thibault
* auth/auth.c (S_auth_server_authenticate): Check result of auth_server_authenticate_reply stub. * init/init.c (S_msg_sig_post_untraced): Check result of msg_sig_post_untraced_reply (S_msg_sig_post): Check result of msg_sig_post_reply.
2009-12-13Fix setgid behaviorSamuel Thibault
* libfshelp/exec-reauth.c (fshelp_exec_reauth): Set gid in eff_gids and avail_gids instead of in eff_uids, and avail_uids.
2009-11-17Fix ps -o command and such hangSamuel Thibault
* libps/fmt.c (_fmt_create): Put NUL terminator only when there is room for it. When there is not it is there already anyway.
2009-10-25Fix current_vcs driver loadSamuel Thibault
* console-client/current-vcs.c (vcs_repeat_init): Rename function into... (current_vcs_init): ... this. (vcs_repeat_start): Rename function into... (current_vcs_start): ... this. (vcs_repeat_fini): Rename function into... (current_vcs_fini): ... this.