Mercurial > emacs
annotate msdos/sigaction.c @ 109480:d12162869c07
Convert some more functions to standard C.
* lib-src/emacsclient.c (get_current_dir_name, w32_get_resource)
(w32_getenv, w32_set_user_model_id, w32_window_app, w32_execvp)
(close_winsock, initialize_sockets, w32_find_emacs_process)
(w32_give_focus):
* lib-src/ntlib.c (getlogin, getuid, getgid, getegid):
* nt/addpm.c (add_registry, main):
* nt/cmdproxy.c (get_env_size):
* nt/ddeclient.c (main):
* nt/runemacs.c (set_user_model_id):
* src/alloc.c (emacs_blocked_free, emacs_blocked_malloc)
(emacs_blocked_realloc, uninterrupt_malloc):
* src/fringe.c (w32_reset_fringes):
* src/image.c (convert_mono_to_color_image, lookup_rgb_color)
(init_color_table, XPutPixel, jpeg_resync_to_restart_wrapper):
* src/sound.c (be2hs, do_play_sound):
* src/vm-limit.c (get_lim_data, ret_lim_data):
* src/w32term.c (x_free_frame_resources):
* src/xfaces.c (x_create_gc, x_free_gc):
Convert definitions to standard C.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Tue, 20 Jul 2010 22:21:03 +0200 |
parents | fa41f74280f5 |
children | ef719132ddfa |
rev | line source |
---|---|
75760
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
1 /* sigaction.c |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
2 * |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
3 * Copyright (C) 1995 DJ Delorie |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
4 * |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
5 * (See the README file in this directory for the copyright and license |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
6 * history of this file.) |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
7 * |
94790
fa41f74280f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
78311
diff
changeset
|
8 * This file is free software: you can redistribute it and/or modify |
75760
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
9 * it under the terms of the GNU General Public License as published by |
94790
fa41f74280f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
78311
diff
changeset
|
10 * the Free Software Foundation, either version 3 of the License, or |
fa41f74280f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
78311
diff
changeset
|
11 * (at your option) any later version. |
75760
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
12 * |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
13 * This file is distributed in the hope that it will be useful, |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
16 * GNU General Public License for more details. |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
17 * |
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
18 * You should have received a copy of the GNU General Public License |
94790
fa41f74280f5
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
78311
diff
changeset
|
19 * along with this file. If not, see <http://www.gnu.org/licenses/>. |
75760
60ed74508594
Relicense under GPL - see README file for details.
Glenn Morris <rgm@gnu.org>
parents:
52401
diff
changeset
|
20 */ |
25856 | 21 #include <signal.h> |
22 #include <errno.h> | |
23 | |
24 int | |
25 sigaction(int _sig, const struct sigaction *_act, struct sigaction *_oact) | |
26 { | |
27 int retval = 0; | |
28 | |
29 if (_oact) | |
30 { | |
31 void (*installed_sig)(int) = signal (_sig, SIG_IGN); | |
32 | |
33 /* FIXME */ | |
34 if (installed_sig == SIG_ERR) | |
35 { | |
36 retval = -1; | |
37 errno = EINVAL; | |
38 } | |
39 else | |
40 signal (_sig, installed_sig); | |
41 _oact->sa_handler = installed_sig; | |
42 retval = sigemptyset (&_oact->sa_mask); | |
43 _oact->sa_flags = 0; | |
44 } | |
45 if (_act) | |
46 { | |
47 if (signal (_sig, _act->sa_handler) == SIG_ERR) | |
48 { | |
49 retval = -1; | |
50 errno = EINVAL; | |
51 } | |
52 } | |
53 return 0; | |
54 } | |
55 | |
56 | |
57 | |
52401 | 58 /* arch-tag: 39526405-3d3a-44fe-af28-82a515e0c8e8 |
59 (do not change this comment) */ |