about summary refs log tree commit diff
path: root/hurd/hurdsig.c
Commit message (Collapse)AuthorAgeFilesLines
* Fri Jul 5 12:22:51 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-07-051-3/+25
| | | | | | | | * hurd/hurdsig.c (_hurd_internal_post_signal): In case of handled signal during critical section doing interruptible RPC, if _hurdsig_abort_rpcs wants to change thread state, do thread_set_state before thread_resume. If in critical section, pass 0 for SIGNO to _hurdsig_abort_rpcs so rpc is interrupted regardless of SA_RESTART.
* Fri Jun 28 15:46:02 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>Roland McGrath1996-07-011-3/+3
| | | | | | * hurd/hurdsig.c (_hurd_internal_post_signal): In pending signal check for signal zero, repair logical sense of test by parenthesizing correctly.
* (_hurd_internal_post_signal): In check-for-pending signals code, release ↵Thomas Bushnell, BSG1996-06-281-1/+4
| | | | _hurd_siglock before jumping to deliver_pending.
* (_hurd_internal_post_signal): In pending signal check for signal zero, ↵Thomas Bushnell, BSG1996-06-281-4/+4
| | | | repair logical sense of test by parethisizing correctly.
* (_hurd_internal_post_signal): Rename `deliver:' label to `deliver_pending:' ↵Miles Bader1996-06-131-1/+1
| | | | to match goto.
* Thu Jun 6 16:12:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-06-061-16/+24
| | | | | | | | | | | | | | | | * hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending check, deliver a pending blocked signal if its action might be to ignore. * sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL and SIG is pending, wake up signal thread to check us. * hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal pending while blocked or stopped when the action is to ignore it. * hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set SS_SUSPENDED when the thread is really suspended. * elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
* Mon Jun 3 21:03:54 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-06-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * malloc/mcheck.c (freehook, reallochook): Handle null pointer args. * hurd/hurdsig.c (_hurd_internal_post_signal): When setting ACT to `ignore, resume the thread if SS_SUSPENDED, regardless of old action. Sun Jun 2 20:14:30 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * locale/programs/linereader.c (lr_open): Don't pass NULL to xstrdup; fix memory leak. (lr_close): Fix memory leak. * hurd/hurdsig.c (_hurd_internal_post_signal): When turning the action Mon Jun 3 01:29:53 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/link.h (struct link_map): Replace l_deps_loaded flag member with `struct link_map **l_searchlist'. * elf/dl-lookup.c (_dl_lookup_symbol): Make SYMBOL_SCOPE arg an array of two link_map ptrs. Search the maps in the l_searchlist of each of the two elts that is non-null. * elf/dl-reloc.c (_dl_relocate_object): Pass proper SCOPE array. * elf/dl-runtime.c: Likewise. * elf/dlsym.c: Likewise. * elf/rtld.c (dl_main): Likewise.
* (_hurd_internal_post_signal): When turning the action for a HANDLE signal to ↵Thomas Bushnell, BSG1996-06-031-1/+10
| | | | IGNORE because the signal is blocked, clean up any pending suspension left over from a call to resume.
* Tue May 7 19:00:01 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-05-081-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * string/argz-extract.c: Remove const from decl. * string/argz.h: Here too. * Makeconfig (version.mk): Fix regexp in sed cmd. Depend on $(..)Makeconfig. * GMP code updated from gmp-2.0 release. * stdlib/Makefile (mpn-routines): Removed add_1, added inlines. * sysdeps/generic/add_1.c: File removed. * stdlib/strtod.c: mp_limb is now mp_limb_t. * stdlib/fpioconst.c, stdlib/fpioconst.h: Likewise. * stdio-common/_itoa.c: Likewise. * stdio-common/printf_fp.c: Likewise. Don't include ansidecl.h. * sysdeps/mach/hurd/getcwd.c: Use io_identity instead of io_stat. * shlib-versions: New file. * Makerules (soversions.mk): New target, include file generated from shlib-versions. Moved shared library rules before installation rules. Rewrote shared library installation rules for versioned libraries. * math/Makefile (libm.so-version): Variable removed. * sysdeps/mach/hurd/i386/exc2signal.c: Use struct hurd_signal_detail. * hurd/report-wait.c (_S_msg_describe_ports): New function. * configure.in: Add AC_PROG_LN_S check. * config.make.in (LN_S): New variable. Sun May 5 03:10:44 1996 Ulrich Drepper <drepper@cygnus.com> * misc/efgcvt_r.c (ecvt_r): Work aroung gcc bug. gcc does not know about weak aliases now and optimizes necessary `if' statement away. * posix/unistd.h: Add swapoff prototype. * sysdeps/generic/confname.h: Add even more POSIX.4 symbols. * sysdeps/posix/fpathconf.c (__fpathconf): Get information for _PC_PATH_MAX from fstatfs function if available. * sysdeps/posix/sysconf.c: Add code to handle _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, and _SC_TIMER_MAX. * sysdeps/unix/sysv/sysv4/sysconf.c: Ditto. * sysdeps/stub/swapoff.c: New file. Stub version for swapoff function. * sysdeps/unix/syscalls.list: Add swapoff. * sysdeps/unix/sysv/linux/Dist: Add sys/acct.h. * sysdeps/unix/sysv/linux/Makefile [$(subdir) == misc] (sysdep_routines): Add mount, umount, llseek, setfsgid, setfsuid, sysinfo, and uselib. (headers): Add sys/sysinfo.h. * sysdeps/unix/sysv/linux/gethostid.c: Prevent warning. * sysdeps/unix/sysv/linux/i386/Makefile [$(subdir) == misc] (sysdep_routines): Add ioperm, iopl, and vm86. (headers): Add sys/perm.h and sys/vm86.h. * sysdeps/unix/sysv/linux/i386/sys/perm.h: New file. Contains prototypes for iopl and ioperm. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: New file. Contains prototype for vm86. * sysdeps/unix/sysv/linux/i386/syscalls.list: New file. Add vm86 system call. * sysdeps/unix/sysv/linux/sys/acct.h: New file. Contains prototypes for acct function. * sysdeps/unix/sysv/linux/sys/socket.h: Provide real header file with prototypes. * sysdeps/unix/sysv/linux/sys/sysinfo.h: New file. Contains prototype for sysinfo function. * sysdeps/unix/sysv/linux/syscalls.list: Add flock, ioperm, iopl, llseek, setfsgid, setfsuid, sysinfo, and uselib. * sysdeps/unix/sysv/linux/sysconf.c: Instead of duplicating posix/sysconf.c now only handle cases different to that implementation. Tue May 7 15:08:19 1996 Miles Bader <miles@gnu.ai.mit.edu> * stdio/linewrap.c (__line_wrap_output): Renamed from lwoutput (all references changed). Now exported. * stdio/linewrap.c (struct data): Type deleted (moved to linewrap.h). (wrap_stream, unwrap_stream, lwclose, lwfileno, lwoutput, line_wrap_stream, line_unwrap_stream): Use struct line_wrap_data instead of struct data. (lwoutput, line_wrap_stream, line_unwrap_stream): Rename various occurences of `wrap' and `wrapmargin' to `wmargin'. (line_wrapped, line_wrap_lmargin, line_wrap_set_lmargin, line_wrap_rmargin, line_wrap_set_rmargin, line_wrap_wmargin, line_wrap_set_wmargin, line_wrap_point): New functions. * stdio/linewrap.h: New file. * stdio/Makefile (headers): Add linewrap.h. Tue May 7 14:19:12 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/i386/Makefile: File removed. * stdio/stdio.h: Remove line_wrap_stream, line_unwap_stream decls. * sysdeps/unix/sysv/linux/schedbits.h: New file. Tue May 7 13:47:02 1996 Miles Bader <miles@gnu.ai.mit.edu> * stdio/linewrap.c (struct data): Make margin fields not-pointers. (lwoutput): Adjust uses acordingly. * sysdeps/mach/hurd/fdatasync.c: New file. * sysdeps/mach/hurd/fsync.c: Pass new flag to file_sync. * sysdeps/mach/hurd/xmknod.c: Pass new flag to dir_link. * sysdeps/mach/hurd/symlink.c: Likewise. * sysdeps/mach/hurd/link.c: Likewise. * sysdeps/mach/hurd/bind.c: Likewise. * hurd/hurdsig.c (write_corefile): Likewise. * hurd/hurdsig.c (write_corefile): Pass cttyid port to crash server. * sysdeps/mach/hurd/fpathconf.c: RPC takes int pointer, not long int. * sysdeps/mach/hurd/_exit.c (_hurd_exit): Pass sigcode arg to proc_mark_exit. * sysdeps/mach/hurd/dl-sysdep.c (_exit): Likewise. * sysdeps/mach/hurd/wait4.c: Pass sigcode arg to proc_wait. * sysdeps/mach/hurd/rename.c: Pass new flag to dir_rename. * hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise): Use struct hurd_signal_detail. * hurd/catch-exc.c (_S_catch_exception_raise): Likewise. * hurd/hurd-raise.c (_hurd_raise_signal): Likewise. * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Likewise. * sysdeps/mach/hurd/setitimer.c (restart_itimer): Likewise. * hurd/hurd/signal.h: Fix _hurd_exception2signal prototype. * hurd/hurdsig.c (write_corefile): Take const struct hurd_signal_detail * arg. Pass all details to crash_dump_task. (_hurd_internal_post_signal): Pass DETAIL to write_corefile. (_hurd_internal_post_signal: suspend): Pass code and error to proc_mark_stop. * hurd/hurdprio.c (_hurd_priority_which_map): Pass flags arg to proc_getprocinfo by reference.
* Tue May 7 10:51:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-05-071-8/+15
| | | | | | | | | | | | | | | | * wcsmbs/wcwidth.c, wcsmbs/wcswidth.c: Fixed typos. * sysdeps/unix/sysv/linux/sys/mman.h: Fixed typo. * sysdeps/stub/sched_getp.c: Add missing #include <sys/types.h>. * sysdeps/stub/sched_sets.c: Likewise. * sysdeps/stub/sched_setp.c: Likewise. * sysdeps/stub/sched_rr_gi.c: Likewise. * sysdeps/stub/sched_gets.c: Likewise. * hurd/hurdsig.c: Use struct hurd_signal_detail. * hurd/hurd/fd.h (_hurd_fd_error): Likewise. * sysdeps/mach/hurd/sysd-stdio.c (fd_fail): Likewise.
* Sat May 4 05:44:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath1996-05-041-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hurd/hurd-raise.c (_hurd_raise_signal): Pass sigcode in msg_sig_post rpc. * hurd/hurdmsg.c (_S_msg_set_environment): Use argz.h functions instead of _hurd_split_args. (_S_msg_*_exec_flags): Functions removed. (_S_msg_startup_dosync): Stub removed. Sat May 4 02:11:55 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * sysdeps/mach/hurd/ptrace.c: Set _hurdsig_traced instead of EXEC_TRACED bit in _hurd_exec_flags. Pass sigcode arg in msg_sig_post_untraced rpc. * sysdeps/mach/hurd/access.c: Don't pass io port in auth_user_authenticate rpc. * posix/sched.h: Fix typos. * sysdeps/mach/hurd/fork.c: Use new critical section lock. Clear _hurdsig_traced instead of EXEC_TRACED. * sysdeps/stub/nanosleep.c (nanosleep): Fix typo. * wcsmbs/wcstol.c: Find strtol.c in ../stdlib. * wcsmbs/wcstof.c: Find strtod.c in ../stdlib. * wcsmbs/wcstod.c: Likewise. * wcsmbs/wcstold.c: Likewise. * wcsmbs/wcwidth.h: Find cname-lookup.h in ../wctype. * string/envz.c (envz_entry): Use const. (envz_get, envz_remove): Likewise. (envz_entry): Return char *, not const char *. * string/envz.h: Fix decl. * string/argz-create.c: Use const in prototype. * string/argz-next.c: Likewise. * sysdeps/mach/hurd/sigprocmask.c: Pass sigcode arg to msg_sig_post. * sysdeps/mach/hurd/i386/sigreturn.c: Likewise. * sysdeps/mach/hurd/sigsuspend.c: Likewise. * sysdeps/mach/hurd/kill.c: Likewise. * hurd/hurdexec.c (_hurd_exec): Use new critical section lock. * hurd/catch-exc.c (_S_catch_exception_raise): Likewise. * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Likewise. * hurd/thread-cancel.c (hurd_thread_cancel, hurd_check_cancel): Likewise. * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise. * sysdeps/mach/hurd/sigaction.c: Likewise. * sysdeps/mach/hurd/errnos.awk: Don't use ARGV in comment; it can change meaninglessly. * hurd/hurd/signal.h (struct hurd_sigstate): Replace critical section flag with a spin lock. (_hurd_critical_section_lock): Use spin_try_lock on that to see if we get it. No need to take SS->lock at all. (_hurd_critical_section_unlock): Unlock SS->critical_section_lock instead of clearing the old flag member. * hurd/hurdsig.c (_hurd_internal_post_signal): Use spin_lock_locked to test the critical section state. * hurd/hurdinit.c (_hurd_init): Set _hurdsig_traced from the intarray. * hurd/hurdkill.c (_hurd_sig_post): Pass 0 sigcode in msg_sig_post. * hurd/hurdsig.c (_hurd_internal_post_signal): Test _hurdsig_traced instead of testing (_hurd_exec_flags & EXEC_TRACED). (_S_msg_sig_post): Take sigcode arg and pass it through. (_S_msg_sig_post_untraced): Likewise. (reauth_proc): Don't pass proc port in auth_user_authenticate. * hurd/setauth.c (_hurd_setauth): Don't pass object ports in auth_user_authenticate RPCs, just the one-off rendezvous port. * hurd/dtable.c (reauth_dtable): Likewise. * hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Likewise. * hurd/hurdexec.c (_hurd_exec): Pass 0 flags to file_exec. Pass sigcode arg to msg_sig_post. * string/argz.h (argz_create): Use const in prototype. * hurd/hurdinit.c (_hurd_proc_init): Test _hurdsig_traced instead of testing (_hurd_exec_flags & EXEC_TRACED). Pass sigcode arg to msg_sig_post. * hurd/hurd.h: Declare _hurdsig_traced. * string/argz.h (__argz_next): Cast ENTRY before returning it. * hurd/hurd/signal.h (_hurd_critical_section_unlock): Pass sigcode arg to msg_sig_post. * hurd/path-lookup.c: New file. * hurd/Makefile (routines): Add path-lookup. * hurd/hurd/lookup.h: Declare file_name_path_scan, hurd_file_name_path_lookup. * hurd/hurd.h: Declare file_name_path_lookup. * sysdeps/mach/hurd/select.c: The io_select rpc no longer has a TAG_ID argument. Instead, use a separate reply port for each RPC and put them all in a port set to wait for slow replies.
* (describe_number): Correctly allocate space in DESCRIPTION for the digits in I.Miles Bader1996-05-011-1/+4
|
* (signal_allowed): For SIGIO/SIGURG, add a new variable, LUCKY, to use ↵Miles Bader1996-04-241-3/+4
| | | | instead of setting D to -1 (which fucks things up).
* Wed Jan 3 20:23:42 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> cvs/libc-960104Roland McGrath1996-01-041-25/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hurd/catch-signal.c: New file. * hurd/intr-msg.c: When restarting RPC, fetch a new reply port. * hurd/hurdsig.c: Use new hurdfault.h interface. (abort_all_rpcs): Mutate return value to EINTR in threads whose replies we will wait for. * hurd/hurdkill.c (_hurd_sig_post): When doing pgrp, make sure we do ourselves last. Wed Jan 3 19:17:10 1996 Miles Bader <miles@gnu.ai.mit.edu> * sysdeps/mach/hurd/access.c (__access): Put the uid/gid arguments to auth_makeauth() in the right order. Wed Jan 3 17:19:04 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/generic/strsep.c: Rewritten. * sysdeps/mach/hurd/fork.c: Use a different workaround for the suspended page fault deadlock kernel bug: thread_abort our signal thread first thing after proc_dostop. * sysdeps/mach/hurd/setgid.c: Rewrote gid frobnication to recognize rootness properly. * hurd/hurdsig.c: Use new signal preemption interface.
* Rewritten. cvs/libc-960103Roland McGrath1996-01-041-26/+28
|
* (_hurd_internal_post_signal: suspend): Reply after aborting RPCs but before ↵Roland McGrath1995-12-141-0/+1
| | | | calling proc_mark_stop.
* Tue Nov 21 14:12:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> cvs/libc-951122Roland McGrath1995-11-221-33/+19
| | | | | | | | | | | | | | | | | * malloc/malloc.c (align): Don't check contiguity and call abort. * hurd/hurdsig.c (post_reply): Function removed. (abort_thread, abort_all_rpcs, _hurdsig_abort_rpcs): Don't call it. Take single callback fn arg instead of reply port and type. (_hurd_internal_post_signal): Callers changed. Cache reply stub fn ptr in local var before UNTRACED might be changed. * sysdeps/mach/hurd/mmap.c: Cope with a null write memobj for PROT_READ|PROT_WRITE copy mapping. Pass a proper vm_inherit_t to vm_map. * elf/rtld.c (_dl_start): For --list, do output and exit before relocating.
* Fri Nov 17 17:57:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> cvs/libc-951119 cvs/libc-951118Roland McGrath1995-11-181-20/+18
| | | | | | | | | | | | | | | | * sysdeps/generic/Makefile (make_siglist): Add missing backslash. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start_cleanup): New function. * hurd/hurdfault.c: Replace __libc_fatal calls with assert_perror. (_hurdsig_fault_init): Remove #if 0 from setting exception port. Insert send right for SIGEXC before thread_set_special_port. * hurd/hurdsig.c: Replace __libc_fatal calls with assert_perror. (_hurdsig_init): Remove #if 0 from setting exception port. * sysdeps/mach/hurd/ptrace.c (ptrace: PTRACE_CONT): Use HURD_MSGPORT_RPC macro.
* Fri Nov 10 14:15:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-11-101-47/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO == 0, skip straight to pending check. When UNTRACED, resume process from suspension first. * intl/Makefile (headers): New variable, libintl.h. [gettext-srcdir]: New rules to copy source from $(gettext-srcdir)/intl. * configure.in: Check for --with-gettext arg. Fri Nov 10 13:51:30 1995 Richard Stallman <rms@gnu.ai.mit.edu> * malloc/malloc.c (get_contiguous_space): New function. (morecore): Rewrite allocating new malloc info table. (_malloc_internal): Use get_contiguous_space. Fri Nov 10 13:03:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * hurd/hurdexec.c (_hurd_exec): If exec'ing self, pass _hurd_msgport to be destroyed. * Makerules (installed-libcs): Filter out %_pic.a. * hurd/hurdinit.c (_hurd_proc_init): When traced, use msg_sig_post to our msgport to take SIGTRAP, instead of _hurd_raise_signal. * hurd/Makefile (user-interfaces): Add hurd/process_request.
* Fri Sep 15 21:34:28 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-09-171-8/+8
| | | | | | | * hurd/hurdsig.c: Include <hurd/crash.h> in place of <hurd/core.h>. (write_corefile): Call __crash_dump_task instead of __core_dump_task. Use envariable CRASHSERVER instead of CORESERVER. * hurd/Makefile (user-interfaces): Replace hurd/core with hurd/crash.
* Thu Aug 17 16:18:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-08-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | * hurd/intr-msg.c: Use INTR_MSG_TRAP macro from machine-dependent "intr-msg.h" for special syscall code, instead of i386-specific asm. * hurd/hurdsig.c: Use INTR_MSG_BACK_OUT macro from machine-dependent "intr-msg.h" before mutating thread state to skip RPC. * sysdeps/mach/hurd/i386/trampoline.c: If PC is inside _hurd_intr_rpc_mach_msg special syscall code, use real SP saved in %ecx. * Makeconfig (link-libc): New variable; use shared library if available. (+link): Use it. * sysdeps/mach/hurd/fork.c (_hurd_fork_locks): Variable removed. Instead, declare with `symbol_set_declare'. (fork): Use symbol_set_* macros for _hurd_fork_locks. Use SS->thread instead of __mach_thread_self (). Suspend all other threads during task_create and port copying.
* Wed Aug 16 17:04:26 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-08-171-1/+1
| | | | | | | | | | * hurd/intr-msg.c: Fixed calculation of syscall %esp. Tue Aug 15 12:26:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * hurd/hurdsig.c (_hurdsig_abort_rpcs): Remove `static'. * hurd/Makefile (sig): Add intr-msg.
* Mon Aug 14 16:51:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-08-141-85/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hurd/thread-cancel.c: New file. * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): In rpc_wait case, frob mach_msg args to set timeout on receive. (_hurdsig_rcv_interrupted_p): Function removed. * sysdeps/mach/hurd/alpha/trampoline.c: Likewise. * sysdeps/mach/hurd/hppa/trampoline.c: Likewise. * sysdeps/mach/hurd/mips/trampoline.c: Likewise. * hurd/intr-msg.c: New file. * hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel'. (_hurdsig_rcv_interrupted_p): Declaration removed. (HURD_EINTR_RPC): Macro removed. (_hurd_longjmp_thread_state, _hurd_interrupted_rpc_timeout): Declare these. * hurd/intr-rpc.h: New file. * hurd/intr-rpc.defs: Just import intr-rpc.h. * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): New variable. (interrupted_reply_port_location): Take new flag arg; only catch faults if it's set. (abort_rpcs): Rename to _hurdsig_abort_rpcs; take same new flag arg. No longer use _hurdsig_rcv_interrupted_p; instead compare PC to &_hurd_intr_rpc_msg_in_trap. If before it, mutate state to simulate MACH_SEND_INTERRUPTED return; on it, interrupt the operation. All callers changed. * hurd/hurd.h (hurd_thread_cancel, hurd_check_cancel): Declare these. * hurd/Makefile (distribute): Remove intr-rpc.awk. (sig): Add thread-cancel. (transform-user-stub, transform-user-stub-output): Variables removed. * sysdeps/mach/hurd/dl-sysdep.c: Change all RPCs from `__hurd_intr_rpc_*' to `__*'. (_hurd_intr_rpc_mach_msg): New function. (_hurd_thread_sigstate): Function removed. * sysdeps/mach/hurd/ioctl.c: Use _hurd_intr_rpc_mach_msg function, instead of __mach_msg inside HURD_EINTR_RPC macro. * sysdeps/generic/morecore.c [__GNU_LIBRARY__]: Declare `__sbrk' to take ptrdiff_t arg. * sysdeps/mach/hurd/fork.c: Remove _hurd_longjmp_thread_state decl. * sysdeps/mach/hurd/kill.c (kill_pid): Don't make `inline'. * libc-symbols.h [GCC >= 2.7] (strong_alias, weak_symbol, weak_alias): Use `extern' storage class.
* Fri May 26 13:00:08 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-05-271-55/+69
| | | | | | | | | | | | * hurd/hurdsig.c (_hurd_internal_post_signal): Don't loop to check pending signals if the thread is in a critical section. It will send us a msg when it finishes. * sysdeps/mach/hurd/pathconf.c: New file. * sysdeps/mach/hurd/fpathconf.c: New file. * sysdeps/mach/hurd/sigaction.c: Only notify the proc server for SIGCHLD when the SA_NOCLDSTOP bit actually changes.
* Sat May 6 11:06:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>Roland McGrath1995-05-081-27/+86
| | | | | | | | | | | | | | | | | | | | | | * Makeconfig (+gccwarn): Add -Winline. * hurd/hurdsig.c (_hurd_internal_post_signal): If SS->context is set, avoid abort_rpcs, and use reply and intr ports saved in SS->context. * sysdeps/mach/hurd/i386/trampoline.c: Don't set SS->intr_port from SS->context. Don't clear SS->context. * sysdeps/mach/hurd/i386/sigreturn.c: Don't set SS->intr_port when setting SS->context. If msg_sig_post returns, re-lock and clear SS->context. Fri May 5 10:37:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * mach/Makefile (errsystems.c): Comment out generation rule. * sysdeps/mach/_strerror.c: Consider a system unknown if its bad_sub member is null. * mach/mig-alloc.c: Add weak alias to non-__ name.
* * hurd/hurdsig.c: Use assert_perror for many calls which shouldRoland McGrath1995-04-211-15/+34
| | | | never fail and previously were not checked.
* * hurd/hurdsig.c (_hurd_internal_post_signal): Ignore preempterRoland McGrath1995-02-221-1/+1
| | | | elts with null handlers.
* initial importRoland McGrath1995-02-181-0/+1080