diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2021-08-05 17:37:50 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2022-08-10 22:12:35 +0200 |
commit | a239719cd41e2c409366570f84639fa4a322c88b (patch) | |
tree | c58ab5fddb1494512c7d7605407889f6689c1327 /proc/notify.c | |
parent | 111e1a54234613eb5055903cffa20d1f1e6a659e (diff) | |
download | hurd-a239719cd41e2c409366570f84639fa4a322c88b.tar.gz hurd-a239719cd41e2c409366570f84639fa4a322c88b.tar.bz2 hurd-a239719cd41e2c409366570f84639fa4a322c88b.zip |
proc: Use notify server implementation from libports
We can simply override proc_dead_name () to handle dead-name notifications.
Diffstat (limited to 'proc/notify.c')
-rw-r--r-- | proc/notify.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/proc/notify.c b/proc/notify.c deleted file mode 100644 index 41a34112..00000000 --- a/proc/notify.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Handle notifications - Copyright (C) 1992, 1993, 1994, 1996, 1999, 2021 - Free Software Foundation, Inc. - - This file is part of the GNU Hurd. - - The GNU Hurd is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - The GNU Hurd is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with the GNU Hurd; see the file COPYING. If not, write to - the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* Written by Michael I. Bushnell and Sergey Bugaev. */ - -#include <mach.h> -#include <sys/types.h> -#include <hurd/hurd_types.h> -#include <mach/notify.h> -#include <stdio.h> -#include <sys/wait.h> -#include <signal.h> -#include <errno.h> -#include <stdlib.h> - -#include "proc.h" -#include "notify_S.h" - -/* We ask for dead name notifications to detect when tasks and - message ports die. All notifications get sent to the notify - port. */ -kern_return_t -do_mach_notify_dead_name (struct port_info *pi, - mach_port_t dead_name) -{ - struct proc *p; - - if (!pi || !ports_port_is_notify (pi)) - return EOPNOTSUPP; - - check_dead_execdata_notify (dead_name); - - p = task_find_nocreate (dead_name); - if (p) - process_has_exited (p); - - mach_port_deallocate (mach_task_self (), dead_name); - - return 0; -} - -/* We get no-senders notifications on exception ports that we - handle through proc_handle_exceptions. */ -kern_return_t -do_mach_notify_no_senders (struct port_info *pi, - mach_port_mscount_t mscount) -{ - return ports_do_mach_notify_no_senders (pi, mscount); -} - -kern_return_t -do_mach_notify_port_deleted (struct port_info *pi, - mach_port_t name) -{ - return 0; -} - -kern_return_t -do_mach_notify_msg_accepted (struct port_info *pi, - mach_port_t name) -{ - return 0; -} - -kern_return_t -do_mach_notify_port_destroyed (struct port_info *pi, - mach_port_t name) -{ - return 0; -} - -kern_return_t -do_mach_notify_send_once (struct port_info *pi) -{ - return 0; -} |