aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--hurd/hurd/signal.h13
-rw-r--r--stdio/stdio.h4
-rw-r--r--string/strsignal.c3
4 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 2639dbfbba..b5eddcbe30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
Tue Oct 17 01:21:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+ * hurd/hurd/signal.h: Declare hurd_preempt_signals and
+ hurd_unpreempt_signals.
+
+ * stdio/stdio.h: Declare __snprintf and __vsnprintf.
+
* stdio-common/psignal.c: Translate signal description strings.
* string/strsignal.c: Likewise.
* sysdeps/generic/_strerror.c (_strerror_internal): Translate
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 6a188bd774..b494f4922e 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -357,5 +357,18 @@ struct hurd_signal_preempt
extern struct hurd_signal_preempt *_hurd_signal_preempt[NSIG];
extern struct mutex _hurd_signal_preempt_lock;
+/* Install a signal preempter for the given signal and range.
+ The caller is responsible for the storage for PREEMPTER. */
+extern int hurd_preempt_signals (struct hurd_signal_preempt *preempter,
+ int signo, int first_code, int last_code,
+ sighandler_t (*handler) (thread_t,
+ int, long int, int));
+
+/* Remove the signal preempter previously installed by calling
+ `hurd_preempt_signals' with PREEMPTER and SIGNO. */
+extern int hurd_unpreempt_signals (struct hurd_signal_preempt *preempter,
+ int signo);
+
+
#endif /* hurd/signal.h */
diff --git a/stdio/stdio.h b/stdio/stdio.h
index a36081d2d4..347e1868a9 100644
--- a/stdio/stdio.h
+++ b/stdio/stdio.h
@@ -401,9 +401,13 @@ vprintf (const char *__fmt, __gnuc_va_list __arg)
#ifdef __USE_GNU
/* Maximum chars of output to write in MAXLEN. */
+extern int __snprintf __P ((char *__s, size_t __maxlen,
+ __const char *__format, ...));
extern int snprintf __P ((char *__s, size_t __maxlen,
__const char *__format, ...));
+extern int __vsnprintf __P ((char *__s, size_t __maxlen,
+ __const char *__format, __gnuc_va_list __arg));
extern int vsnprintf __P ((char *__s, size_t __maxlen,
__const char *__format, __gnuc_va_list __arg));
diff --git a/string/strsignal.c b/string/strsignal.c
index ccd2c0e82f..3a0c6b2e2f 100644
--- a/string/strsignal.c
+++ b/string/strsignal.c
@@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */
#define _sys_siglist sys_siglist
#endif
-/* Defined in , 1992siglist.c. */
+/* Defined in siglist.c. */
extern CONST char *CONST _sys_siglist[];
@@ -37,7 +37,6 @@ DEFUN(strsignal, (signum), int signum)
if (signum < 0 || signum > NSIG)
{
static char buf[512];
- static char fmt[] = ;
int len = __snprintf (buf, sizeof buf, _("Unknown signal %d"), signum);
if (len < 0)
return NULL;