Mercurial > emacs
view etc/ulimit.hack @ 82995:039bd6989d29
Portability fixes (now it compiles & runs fine on Solaris).
lib-src/emacsclient.c: Removed tty proxy kludge. Emacs should just
use the same terminal as emacsclient.
(ec_get_tty, ec_set_tty, master, pty_name, old_tty, tty, old_tty_valid)
(tty_erase_char, quit_char, flow_control, meta_key, _sobuf, init_tty)
(window_change, reset_tty, init_pty, copy_from_to)
(pty_conversation): Removed.
(window_change_signal): Just forward the signal to Emacs, don't do
anything else.
(init_signals): Don't set handlers for SIGHUP & SIGINT.
(strprefix): New function.
(main): Don't touch the terminal, simply tell its name to Emacs.
lisp/server.el (server-frames): Changed name and semantics to server-ttys.
(server-tty-live-p): New function.
(server-sentinel): Delete the whole tty, not just the frame.
(server-handle-delete-frame): Removed.
(server-handle-delete-tty): New function. Close the client connection if
the tty is deleted.
(server-start): Clean up server-ttys, not server-frames. Set up
delete-tty-after-functions.
(server-process-filter): Set up server-ttys, not server-frames.
Updated protocol for sending our pid to emacsclient.
(server-buffer-done): Don't delete the client process directly, delete
the tty instead, and rely on the delete-tty hook to close the
connection. Otherwise the terminal could be left in a bad state.
src/cm.c (cmputc): Don't abort on write errors.
src/indent.c: #include <stdio.h>, for termchar.h.
src/window.c: Ditto.
src/xfaces.c: Ditto.
src/sysdep.c (init_sigio, reset_sigio, request_sigio)[!SIGIO]
(unrequest_sigio)[!SIGIO]: If SIGIO is not supported, don't do
anything. (For Solaris.)
(init_sys_modes): Moved tty_set_terminal_modes call back to here,
disable window system check.
(reset_sys_modes): Reset the terminal even if X is running.
src/term.c (Vdelete_tty_after_functions): New variable.
(syms_of_term): Initialize it.
(Fdelete_tty): Updated docs.
(delete_tty): Run delete-tty-after-functions.
(term_init): Removed tty_set_terminal_modes call.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-35
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 03 Jan 2004 08:31:14 +0000 |
parents | 695cf19ef79e |
children | 3681678d3d86 375f2633d815 |
line wrap: on
line source
#!/bin/sh # # ulimit.hack: Create an intermediate program for use in # between kernel initialization and init startup. # This is needed on a 3b system if the standard CDLIMIT is # so small that the dumped Emacs file cannot be written. # This program causes everyone to get a bigger CDLIMIT value # so that the dumped Emacs can be written out. # # Users of V.3.1 and later should not use this; see etc/MACHINES # and reconfig your kernel's CDLIMIT parameter instead. # # Caveat: Heaven help you if you screw this up. This puts # a new program in as /etc/init, which then execs the real init. # cat > ulimit.init.c << \EOF main(argc, argv) int argc; char *argv[]; { ulimit(2, 262144L); /* "2" is the "set" command. */ /* 262,144 allows for 128Mb files to be written. */ /* If that value isn't suitable, roll your own. */ execv("/etc/real.init", argv); } EOF # # Compile it and put it in place of the usual init program. # cc ulimit.init.c -o ulimit.init mv /etc/init /etc/real.init mv ulimit.init /etc/ulimit.init ln /etc/ulimit.init /etc/init mv ulimit.init.c /etc/ulimit.init.c # to keep src for this hack nearby. chmod 0754 /etc/init exit 0 # # Upon system reboot, all processes will inherit the new large ulimit. # arch-tag: 6f9a7072-9d07-4431-b0bb-e867648ad0b4