* Makefile.am: Fix ETAGS_ARGS to recognize GUILE_PROC,
GUILE_PROC1. Build guile-procedures.txt, and add that file to
pkgdata_DATA.
* load.c: Added `pkgdata-dir', `site-dir', `library-dir'
primitives.
* guile-doc-snarf.awk: Drop trailing space when no arguments:
e.g., "(foo )" is now "(foo)".
* *.c: moved all the documentation for primitives from
guile-doc/ref/{appendices,posix,scheme}.texi into the source code.
This leaves about half of the primitives undocumented. Also, all
the markup is currently still texinfo. I don't have a problem
with texinfo per se, but the markup is not very descriptive or
accurate.
This commit is contained in:
parent
75948d1b31
commit
4079f87ed2
47 changed files with 2239 additions and 320 deletions
|
|
@ -181,7 +181,32 @@ sys_deliver_signals (void)
|
|||
/* user interface for installation of signal handlers. */
|
||||
GUILE_PROC(scm_sigaction, "sigaction", 1, 2, 0,
|
||||
(SCM signum, SCM handler, SCM flags),
|
||||
"")
|
||||
"Install or report the signal hander for a specified signal.
|
||||
|
||||
@var{signum} is the signal number, which can be specified using the value
|
||||
of variables such as @code{SIGINT}.
|
||||
|
||||
If @var{action} is omitted, @code{sigaction} returns a pair: the
|
||||
CAR is the current
|
||||
signal hander, which will be either an integer with the value @code{SIG_DFL}
|
||||
(default action) or @code{SIG_IGN} (ignore), or the Scheme procedure which
|
||||
handles the signal, or @code{#f} if a non-Scheme procedure handles the
|
||||
signal. The CDR contains the current @code{sigaction} flags for the handler.
|
||||
|
||||
If @var{action} is provided, it is installed as the new handler for
|
||||
@var{signum}. @var{action} can be a Scheme procedure taking one
|
||||
argument, or the value of @code{SIG_DFL} (default action) or
|
||||
@code{SIG_IGN} (ignore), or @code{#f} to restore whatever signal handler
|
||||
was installed before @code{sigaction} was first used. Flags can
|
||||
optionally be specified for the new handler (@code{SA_RESTART} will
|
||||
always be added if it's available and the system is using rstartable
|
||||
system calls.) The return value is a pair with information about the
|
||||
old handler as described above.
|
||||
|
||||
This interface does not provide access to the \"signal blocking\"
|
||||
facility. Maybe this is not needed, since the thread support may
|
||||
provide solutions to the problem of consistent access to data
|
||||
structures.")
|
||||
#define FUNC_NAME s_scm_sigaction
|
||||
{
|
||||
int csig;
|
||||
|
|
@ -312,7 +337,8 @@ GUILE_PROC(scm_sigaction, "sigaction", 1, 2, 0,
|
|||
|
||||
GUILE_PROC (scm_restore_signals, "restore-signals", 0, 0, 0,
|
||||
(void),
|
||||
"")
|
||||
"Return all signal handlers to the values they had before any call to
|
||||
@code{sigaction} was made. The return value is unspecified.")
|
||||
#define FUNC_NAME s_scm_restore_signals
|
||||
{
|
||||
int i;
|
||||
|
|
@ -344,7 +370,15 @@ GUILE_PROC (scm_restore_signals, "restore-signals", 0, 0, 0,
|
|||
|
||||
GUILE_PROC(scm_alarm, "alarm", 1, 0, 0,
|
||||
(SCM i),
|
||||
"")
|
||||
"Set a timer to raise a @code{SIGALRM} signal after the specified
|
||||
number of seconds (an integer). It's advisable to install a signal
|
||||
handler for
|
||||
@code{SIGALRM} beforehand, since the default action is to terminate
|
||||
the process.
|
||||
|
||||
The return value indicates the time remaining for the previous alarm,
|
||||
if any. The new value replaces the previous alarm. If there was
|
||||
no previous alarm, the return value is zero.")
|
||||
#define FUNC_NAME s_scm_alarm
|
||||
{
|
||||
unsigned int j;
|
||||
|
|
@ -357,7 +391,9 @@ GUILE_PROC(scm_alarm, "alarm", 1, 0, 0,
|
|||
#ifdef HAVE_PAUSE
|
||||
GUILE_PROC(scm_pause, "pause", 0, 0, 0,
|
||||
(),
|
||||
"")
|
||||
"Pause the current process (thread?) until a signal arrives whose
|
||||
action is to either terminate the current process or invoke a
|
||||
handler procedure. The return value is unspecified.")
|
||||
#define FUNC_NAME s_scm_pause
|
||||
{
|
||||
pause ();
|
||||
|
|
@ -368,7 +404,9 @@ GUILE_PROC(scm_pause, "pause", 0, 0, 0,
|
|||
|
||||
GUILE_PROC(scm_sleep, "sleep", 1, 0, 0,
|
||||
(SCM i),
|
||||
"")
|
||||
"Wait for the given number of seconds (an integer) or until a signal
|
||||
arrives. The return value is zero if the time elapses or the number
|
||||
of seconds remaining otherwise.")
|
||||
#define FUNC_NAME s_scm_sleep
|
||||
{
|
||||
unsigned long j;
|
||||
|
|
@ -413,7 +451,9 @@ GUILE_PROC(scm_usleep, "usleep", 1, 0, 0,
|
|||
|
||||
GUILE_PROC(scm_raise, "raise", 1, 0, 0,
|
||||
(SCM sig),
|
||||
"")
|
||||
"
|
||||
Sends a specified signal @var{sig} to the current process, where
|
||||
@var{sig} is as described for the kill procedure.")
|
||||
#define FUNC_NAME s_scm_raise
|
||||
{
|
||||
SCM_VALIDATE_INT(1,sig);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue