annotate libinterp/corefcn/sighandlers.h @ 22049:ccf50f029999

move octave_child_list to separate file and define inside namespace * liboctave/system/child-list.cc, liboctave/system/child-list.h: New files. * liboctave/system/module.mk: Update. * sighandlers.h, sighandlers.cc: Move octave_child and octave_child_list classes to separate files in liboctave and defined inside the octave namespace. Change all uses.
author John W. Eaton <jwe@octave.org>
date Wed, 06 Jul 2016 14:57:54 -0400
parents 3ff59d4f9411
children 6db928d06b07
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 17958
diff changeset
3 Copyright (C) 1993-2015 John W. Eaton
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
4
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6972
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6972
diff changeset
10 option) any later version.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
11
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6972
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6972
diff changeset
19 <http://www.gnu.org/licenses/>.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
20
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22
2939
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
23 /*
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
24
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
25 The signal blocking macros defined below were adapted from similar
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
26 functions from GNU Bash, the Bourne Again SHell, copyright (C) 1994
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
27 Free Software Foundation, Inc.
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
28
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
29 */
f2feebf0eb7d [project @ 1997-05-06 16:36:34 by jwe]
jwe
parents: 2926
diff changeset
30
834
44ce29d8cb7b [project @ 1994-10-19 18:17:44 by jwe]
jwe
parents: 383
diff changeset
31 // This file should always be included after config.h!
44ce29d8cb7b [project @ 1994-10-19 18:17:44 by jwe]
jwe
parents: 383
diff changeset
32
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 19697
diff changeset
33 #if ! defined (octave_sighandlers_h)
383
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 296
diff changeset
34 #define octave_sighandlers_h 1
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
35
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21186
diff changeset
36 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21186
diff changeset
37
22049
ccf50f029999 move octave_child_list to separate file and define inside namespace
John W. Eaton <jwe@octave.org>
parents: 21988
diff changeset
38 #include "child-list.h"
3566
4b1a93f83264 [project @ 2000-02-03 09:19:49 by jwe]
jwe
parents: 3546
diff changeset
39
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17778
diff changeset
40 // FIXME: the data should probably be private...
2554
f7e3d23f0a8f [project @ 1996-11-21 01:41:57 by jwe]
jwe
parents: 2469
diff changeset
41
22049
ccf50f029999 move octave_child_list to separate file and define inside namespace
John W. Eaton <jwe@octave.org>
parents: 21988
diff changeset
42 typedef void octave_sig_handler (int);
ccf50f029999 move octave_child_list to separate file and define inside namespace
John W. Eaton <jwe@octave.org>
parents: 21988
diff changeset
43
2705
18395aaeafb7 [project @ 1997-02-20 04:56:43 by jwe]
jwe
parents: 2693
diff changeset
44 struct
18395aaeafb7 [project @ 1997-02-20 04:56:43 by jwe]
jwe
parents: 2693
diff changeset
45 octave_interrupt_handler
18395aaeafb7 [project @ 1997-02-20 04:56:43 by jwe]
jwe
parents: 2693
diff changeset
46 {
21941
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
47 octave_sig_handler *int_handler;
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
48 octave_sig_handler *brk_handler;
2705
18395aaeafb7 [project @ 1997-02-20 04:56:43 by jwe]
jwe
parents: 2693
diff changeset
49 };
2554
f7e3d23f0a8f [project @ 1996-11-21 01:41:57 by jwe]
jwe
parents: 2469
diff changeset
50
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
51 // Nonzero means we have already printed a message for this series of
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
52 // SIGPIPES. We assume that the writer will eventually give up.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
53 extern int pipe_handler_error_count;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
54
3018
5708b8bb4f06 [project @ 1997-06-03 21:48:05 by jwe]
jwe
parents: 2939
diff changeset
55 // TRUE means we can be interrupted.
6972
b5a6f5c71451 [project @ 2007-10-08 09:36:57 by jwe]
jwe
parents: 6109
diff changeset
56 extern OCTINTERP_API bool can_interrupt;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
57
21941
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
58 extern OCTINTERP_API octave_sig_handler *
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
59 octave_set_signal_handler (int sig, octave_sig_handler *,
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
60 bool restart_syscalls = true);
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
61
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
62 extern OCTINTERP_API octave_sig_handler *
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
63 octave_set_signal_handler (const char *signame, octave_sig_handler *,
1d23b75cbcd1 hide signal.h from C++ sources
John W. Eaton <jwe@octave.org>
parents: 21724
diff changeset
64 bool restart_syscalls = true);
1443
cd6c9be7337c [project @ 1995-09-19 21:54:56 by jwe]
jwe
parents: 1315
diff changeset
65
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5775
diff changeset
66 extern OCTINTERP_API void install_signal_handlers (void);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
67
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5775
diff changeset
68 extern OCTINTERP_API void octave_signal_handler (void);
5142
0f9108f298ab [project @ 2005-02-12 02:29:34 by jwe]
jwe
parents: 5128
diff changeset
69
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5775
diff changeset
70 extern OCTINTERP_API octave_interrupt_handler octave_catch_interrupts (void);
2554
f7e3d23f0a8f [project @ 1996-11-21 01:41:57 by jwe]
jwe
parents: 2469
diff changeset
71
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5775
diff changeset
72 extern OCTINTERP_API octave_interrupt_handler octave_ignore_interrupts (void);
2554
f7e3d23f0a8f [project @ 1996-11-21 01:41:57 by jwe]
jwe
parents: 2469
diff changeset
73
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5775
diff changeset
74 extern OCTINTERP_API octave_interrupt_handler
5770
6a9244f89a2a [project @ 2006-04-18 17:44:33 by jwe]
jwe
parents: 5307
diff changeset
75 octave_set_interrupt_handler (const volatile octave_interrupt_handler&,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10246
diff changeset
76 bool restart_syscalls = true);
1651
e846e361a265 [project @ 1995-12-20 06:59:12 by jwe]
jwe
parents: 1445
diff changeset
77
2214
b5c7309168f3 [project @ 1996-05-16 15:48:22 by jwe]
jwe
parents: 2209
diff changeset
78 // extern void ignore_sigchld (void);
b5c7309168f3 [project @ 1996-05-16 15:48:22 by jwe]
jwe
parents: 2209
diff changeset
79
15595
6e780fb15c14 Make Vdebug_on_interrupt not be static
Max Brister <max@2bass.com>
parents: 15195
diff changeset
80 // TRUE means we should try to enter the debugger on SIGINT.
6e780fb15c14 Make Vdebug_on_interrupt not be static
Max Brister <max@2bass.com>
parents: 15195
diff changeset
81 extern OCTINTERP_API bool Vdebug_on_interrupt;
6e780fb15c14 Make Vdebug_on_interrupt not be static
Max Brister <max@2bass.com>
parents: 15195
diff changeset
82
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
83 #endif