1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/* MiG protocol for handling program crashes.
Copyright (C) 1992, 1994, 1995, 1996 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 Roland McGrath. */
subsystem crash 32000;
#include <hurd/hurd_types.defs>
/* Handle a crashing task, whose task control port is TASK.
FILE is a file port open for writing. The caller will link it to
"core" (or whatever name) if the RPC returns success. If EEXIST is
returned, the core file has been written to a different file,
therefore FILE can be discarded.
SIGNO, SIGCODE, and SIGERROR indicate the signal that killed the
process. EXC is zero for a software signal; otherwise EXC, CODE, and
SUBCODE are the original Mach exception codes.
CTTYID_PORT is the process's ctty's identification port, for use
in sending stop signals to the process group. */
routine crash_dump_task (
crashserver: mach_port_t;
sreplyport reply: sreply_port_t;
task: task_t;
file: file_t;
signo: int; sigcode: integer_t; sigerror: int;
exc: natural_t; code: natural_t; subcode: natural_t;
cttyid_port: mach_port_send_t);
|