Mercurial > emacs
annotate msdos/sigaction.c @ 83103:efc0b56b83d9
Another server.el overhaul.
lib-src/emacsclient.c (xstrdup): New function.
(quote_argument): Use xmalloc, not malloc.
(main): Send environment variable values.
lisp/server.el (server-clients): Documentation update.
(server-ttys, server-frames): Removed.
(server-client, server-client-get, server-client-set)
(server-clients-with, server-add-client)
(server-delete-client): New functions.
(server-sentinel, server-handle-suspend-tty)
(server-handle-delete-tty, server-handle-delete-frame)
(server-start, server-process-filter, server-visit-files)
(server-buffer-done, server-kill-buffer-query-function)
(server-kill-emacs-query-function, server-switch-buffer): Use them.
(server-log): Handle both kinds of client references.
(server-start): Set up all hooks here.
(server-process-filter): Cleanup. Store version in client.
Handle -env commands for passing environment variable values.
(server-buffer-done): Don't close clients that were created bufferless.
(server-switch-buffer): Only look at frameless clients.
Don't switch away from current buffer if there is no next-buffer.
(server-unload-hook): Remove frame/tty hooks, too.
lisp/server.el (server-quote-arg, server-unquote-arg)
(server-process-filter, server-kill-buffer-query-function)
(server-kill-emacs-query-function): Doc update.
(server-buffer-done, server-switch-buffer): Use buffer-live-p, not
buffer-name.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-143
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 18 Apr 2004 01:34:11 +0000 |
parents | 695cf19ef79e |
children | 60ed74508594 375f2633d815 |
rev | line source |
---|---|
25856 | 1 /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ |
2 #include <signal.h> | |
3 #include <errno.h> | |
4 | |
5 int | |
6 sigaction(int _sig, const struct sigaction *_act, struct sigaction *_oact) | |
7 { | |
8 int retval = 0; | |
9 | |
10 if (_oact) | |
11 { | |
12 void (*installed_sig)(int) = signal (_sig, SIG_IGN); | |
13 | |
14 /* FIXME */ | |
15 if (installed_sig == SIG_ERR) | |
16 { | |
17 retval = -1; | |
18 errno = EINVAL; | |
19 } | |
20 else | |
21 signal (_sig, installed_sig); | |
22 _oact->sa_handler = installed_sig; | |
23 retval = sigemptyset (&_oact->sa_mask); | |
24 _oact->sa_flags = 0; | |
25 } | |
26 if (_act) | |
27 { | |
28 if (signal (_sig, _act->sa_handler) == SIG_ERR) | |
29 { | |
30 retval = -1; | |
31 errno = EINVAL; | |
32 } | |
33 } | |
34 return 0; | |
35 } | |
36 | |
37 | |
38 | |
52401 | 39 /* arch-tag: 39526405-3d3a-44fe-af28-82a515e0c8e8 |
40 (do not change this comment) */ |