annotate src/cxux-crt0.s @ 83525:b2e7507b55c6

Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak. * src/frame.c (make_terminal_frame): Don't create frames on a terminal that is being deleted. * src/xfns.c (Fx_create_frame, x_create_tip_frame): Ditto. * src/keyboard.c (tty_read_avail_input): Don't read from a terminal that is being deleted. * src/term.c (get_named_tty): Abort if tty name is NULL. Simplify accordingly. * src/term.c (Ftty_type): Return nil if terminal is not on a tty instead of throwing an error. Doc update. * src/term.c (init_tty): Set name before calling `get_named_tty'. * src/term.c (delete_tty): Let delete_terminal delete the frames. Plug memory leak caused by tty->name. Remove reference to `deleting_tty'. * src/term.c (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>: Doc update. * src/termhooks.h (terminal) <name>: Explain why identifying terminals by name is a bad idea. * src/terminal.c (delete_terminal): Doc update. * src/xterm.c (XTread_socket): Disable loop on all X displays. * src/xterm.c (x_delete_display): Doc update to reflect changes in delete_terminal. * src/xterm.c (x_delete_terminal): Don't set terminal->deleted and let delete_terminal delete the frames on the terminal. * src/xterm.h (x_display_info) <terminal>: Move member earlier in the struct. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-565
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 20 May 2006 17:12:43 +0000
parents 3bd95f4f2941
children 3d45362f1d38 c5406394f567
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25843
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
1 /*
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
2 * External symbol setup file for GNU Emacs on CX/UX
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
3 * Copyright (C) 1990, 2002, 2003, 2004, 2005,
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
4 * 2006 Free Software Foundation, Inc.
25843
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
5 *
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
6 * This file is part of GNU Emacs.
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
7 *
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
8 * GNU Emacs is distributed in the hope that it will be useful,
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
9 * but WITHOUT ANY WARRANTY. No author or distributor
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
10 * accepts responsibility to anyone for the consequences of using it
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
11 * or for whether it serves any particular purpose or works at all,
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
12 * unless he says so in writing. Refer to the GNU Emacs General Public
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
13 * License for full details.
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
14 *
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
15 * Everyone is granted permission to copy, modify and redistribute
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
16 * GNU Emacs, but only under the conditions described in the
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
17 * GNU Emacs General Public License. A copy of this license is
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
18 * supposed to have been given to you along with GNU Emacs so you
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
19 * can know your rights and responsibilities. It should be in a
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
20 * file named COPYING. Among other things, the copyright notice
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
21 * and this notice must be preserved on all copies.
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
22 */
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
23
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
24 /*
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
25 * This file makes the start of the text and data regions of the program
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
26 * clearly visible to the GNU Emacs C source code, without any dependencies
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
27 * on any changes made to the standard C runtime startup module, crt0.o.
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * It depends, however, on this file being passed down to the linker (ld)
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * before any others, and the linker's behavior of assigning increasing
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
30 * addresses as it finds symbols.
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
31 */
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
32 /* C symbol _start marks beginning of text region. */
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
33 .text
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
34 .globl __start
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
35 __start:
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
36 /* C symbol data_start marks beginning of data region. */
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
37 .data
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
38 .globl _data_start
18e524802887 #ecrt0.c
Dave Love <fx@gnu.org>
parents:
diff changeset
39 _data_start: .space 4
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 25843
diff changeset
40
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 25843
diff changeset
41 /* arch-tag: ba84e4dc-615d-4a81-898c-f5b98ec71c9d
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 25843
diff changeset
42 (do not change this comment) */