mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 13:00:26 +02:00
* configure.in: check availability of siginterrupt.
* scmsigs.c (scm_sigaction): add SA_RESTART to flags only if HAVE_RESTARTABLE_SYSCALLS. (scm_init_scmsigs): use siginterrupt if it's available. not everyone who has restartable syscalls has SA_RESTART it seems. (scm_sigaction): use scm_num2long/scm_long2num when converting SIG_DFL/SIG_IGN, in case it doesn't fit in an INUM. use scm_integer_p to test the type.
This commit is contained in:
parent
240ed66f84
commit
7ee92fcefd
6 changed files with 117 additions and 79 deletions
|
@ -1,3 +1,7 @@
|
|||
1999-09-20 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* configure.in: check availability of siginterrupt.
|
||||
|
||||
1999-09-18 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* configure.in: use AC_SYS_RESTARTABLE_SYSCALLS instead of
|
||||
|
|
131
configure
vendored
131
configure
vendored
|
@ -3247,7 +3247,7 @@ fi
|
|||
fi
|
||||
|
||||
|
||||
for ac_func in ctermid ftime getcwd geteuid gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid bzero strdup system usleep atexit on_exit
|
||||
for ac_func in ctermid ftime getcwd geteuid gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid bzero strdup system usleep atexit on_exit
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:3254: checking for $ac_func" >&5
|
||||
|
@ -3628,8 +3628,9 @@ done
|
|||
|
||||
|
||||
|
||||
|
||||
echo $ac_n "checking for restartable system calls""... $ac_c" 1>&6
|
||||
echo "configure:3633: checking for restartable system calls" >&5
|
||||
echo "configure:3634: checking for restartable system calls" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_sys_restartable_syscalls'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -3637,7 +3638,7 @@ else
|
|||
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3641 "configure"
|
||||
#line 3642 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Exit 0 (true) if wait returns something other than -1,
|
||||
i.e. the pid of the child, which means that wait was restarted
|
||||
|
@ -3655,7 +3656,7 @@ main () {
|
|||
}
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:3659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:3660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_sys_restartable_syscalls=yes
|
||||
else
|
||||
|
@ -3682,12 +3683,12 @@ if test "$ac_cv_header_regex_h" = yes ||
|
|||
test "$ac_cv_header_rxposix_h" = yes ||
|
||||
test "$ac_cv_header_rx_rxposix_h" = yes; then
|
||||
echo $ac_n "checking for regcomp""... $ac_c" 1>&6
|
||||
echo "configure:3686: checking for regcomp" >&5
|
||||
echo "configure:3687: checking for regcomp" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_regcomp_norx'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3691 "configure"
|
||||
#line 3692 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char regcomp(); below. */
|
||||
|
@ -3710,7 +3711,7 @@ regcomp();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_regcomp_norx=yes"
|
||||
else
|
||||
|
@ -3728,7 +3729,7 @@ if eval "test \"`echo '$ac_cv_func_'regcomp'_'norx`\" = yes"; then
|
|||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
echo $ac_n "checking for main in -lrx""... $ac_c" 1>&6
|
||||
echo "configure:3732: checking for main in -lrx" >&5
|
||||
echo "configure:3733: checking for main in -lrx" >&5
|
||||
ac_lib_var=`echo rx'_'main | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
|
@ -3736,14 +3737,14 @@ else
|
|||
ac_save_LIBS="$LIBS"
|
||||
LIBS="-lrx $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3740 "configure"
|
||||
#line 3741 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
main()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3747: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||
else
|
||||
|
@ -3771,12 +3772,12 @@ else
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for regcomp""... $ac_c" 1>&6
|
||||
echo "configure:3775: checking for regcomp" >&5
|
||||
echo "configure:3776: checking for regcomp" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_regcomp_rx'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3780 "configure"
|
||||
#line 3781 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char regcomp(); below. */
|
||||
|
@ -3799,7 +3800,7 @@ regcomp();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_regcomp_rx=yes"
|
||||
else
|
||||
|
@ -3833,12 +3834,12 @@ fi
|
|||
for ac_func in inet_aton putenv strerror memmove
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:3837: checking for $ac_func" >&5
|
||||
echo "configure:3838: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3842 "configure"
|
||||
#line 3843 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -3861,7 +3862,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -3894,19 +3895,19 @@ done
|
|||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
|
||||
echo "configure:3898: checking for working alloca.h" >&5
|
||||
echo "configure:3899: checking for working alloca.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3903 "configure"
|
||||
#line 3904 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <alloca.h>
|
||||
int main() {
|
||||
char *p = alloca(2 * sizeof(int));
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_header_alloca_h=yes
|
||||
else
|
||||
|
@ -3927,12 +3928,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for alloca""... $ac_c" 1>&6
|
||||
echo "configure:3931: checking for alloca" >&5
|
||||
echo "configure:3932: checking for alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 3936 "configure"
|
||||
#line 3937 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
@ -3960,7 +3961,7 @@ int main() {
|
|||
char *p = (char *) alloca(1);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:3964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:3965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_func_alloca_works=yes
|
||||
else
|
||||
|
@ -3992,12 +3993,12 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
|
||||
echo "configure:3996: checking whether alloca needs Cray hooks" >&5
|
||||
echo "configure:3997: checking whether alloca needs Cray hooks" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4001 "configure"
|
||||
#line 4002 "configure"
|
||||
#include "confdefs.h"
|
||||
#if defined(CRAY) && ! defined(CRAY2)
|
||||
webecray
|
||||
|
@ -4022,12 +4023,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
|
|||
if test $ac_cv_os_cray = yes; then
|
||||
for ac_func in _getb67 GETB67 getb67; do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:4026: checking for $ac_func" >&5
|
||||
echo "configure:4027: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4031 "configure"
|
||||
#line 4032 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -4050,7 +4051,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -4077,7 +4078,7 @@ done
|
|||
fi
|
||||
|
||||
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
|
||||
echo "configure:4081: checking stack direction for C alloca" >&5
|
||||
echo "configure:4082: checking stack direction for C alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -4085,7 +4086,7 @@ else
|
|||
ac_cv_c_stack_direction=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4089 "configure"
|
||||
#line 4090 "configure"
|
||||
#include "confdefs.h"
|
||||
find_stack_direction ()
|
||||
{
|
||||
|
@ -4104,7 +4105,7 @@ main ()
|
|||
exit (find_stack_direction() < 0);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:4108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:4109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_c_stack_direction=1
|
||||
else
|
||||
|
@ -4128,12 +4129,12 @@ fi
|
|||
if test "$ALLOCA" = "alloca.o"; then LIBOBJS="alloca.o $LIBOBJS"; fi
|
||||
|
||||
echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
|
||||
echo "configure:4132: checking for st_rdev in struct stat" >&5
|
||||
echo "configure:4133: checking for st_rdev in struct stat" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4137 "configure"
|
||||
#line 4138 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
@ -4141,7 +4142,7 @@ int main() {
|
|||
struct stat s; s.st_rdev;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_st_rdev=yes
|
||||
else
|
||||
|
@ -4162,12 +4163,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
|
||||
echo "configure:4166: checking for st_blksize in struct stat" >&5
|
||||
echo "configure:4167: checking for st_blksize in struct stat" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4171 "configure"
|
||||
#line 4172 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
@ -4175,7 +4176,7 @@ int main() {
|
|||
struct stat s; s.st_blksize;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4179: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_st_blksize=yes
|
||||
else
|
||||
|
@ -4199,12 +4200,12 @@ fi
|
|||
# We could use AC_STRUCT_ST_BLOCKS here, but that adds fileblocks.o to
|
||||
# LIBOBJS, which we don't need. This seems more direct.
|
||||
echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6
|
||||
echo "configure:4203: checking for st_blocks in struct stat" >&5
|
||||
echo "configure:4204: checking for st_blocks in struct stat" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_st_blocks'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4208 "configure"
|
||||
#line 4209 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
@ -4212,7 +4213,7 @@ int main() {
|
|||
struct stat s; s.st_blocks;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4217: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_st_blocks=yes
|
||||
else
|
||||
|
@ -4233,12 +4234,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for S_ISLNK in sys/stat.h""... $ac_c" 1>&6
|
||||
echo "configure:4237: checking for S_ISLNK in sys/stat.h" >&5
|
||||
echo "configure:4238: checking for S_ISLNK in sys/stat.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_macro_S_ISLNK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4242 "configure"
|
||||
#line 4243 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/stat.h>
|
||||
#ifndef S_ISLNK
|
||||
|
@ -4246,7 +4247,7 @@ else
|
|||
#endif
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4251: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -4270,12 +4271,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
|
||||
echo "configure:4274: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
echo "configure:4275: checking whether struct tm is in sys/time.h or time.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4279 "configure"
|
||||
#line 4280 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
|
@ -4283,7 +4284,7 @@ int main() {
|
|||
struct tm *tp; tp->tm_sec;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_tm=time.h
|
||||
else
|
||||
|
@ -4304,12 +4305,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
|
||||
echo "configure:4308: checking for tm_zone in struct tm" >&5
|
||||
echo "configure:4309: checking for tm_zone in struct tm" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4313 "configure"
|
||||
#line 4314 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#include <$ac_cv_struct_tm>
|
||||
|
@ -4317,7 +4318,7 @@ int main() {
|
|||
struct tm tm; tm.tm_zone;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4321: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4322: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_struct_tm_zone=yes
|
||||
else
|
||||
|
@ -4337,12 +4338,12 @@ EOF
|
|||
|
||||
else
|
||||
echo $ac_n "checking for tzname""... $ac_c" 1>&6
|
||||
echo "configure:4341: checking for tzname" >&5
|
||||
echo "configure:4342: checking for tzname" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4346 "configure"
|
||||
#line 4347 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <time.h>
|
||||
#ifndef tzname /* For SGI. */
|
||||
|
@ -4352,7 +4353,7 @@ int main() {
|
|||
atoi(*tzname);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:4357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_var_tzname=yes
|
||||
else
|
||||
|
@ -4375,12 +4376,12 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether we need POSIX to get struct utimbuf""... $ac_c" 1>&6
|
||||
echo "configure:4379: checking whether we need POSIX to get struct utimbuf" >&5
|
||||
echo "configure:4380: checking whether we need POSIX to get struct utimbuf" >&5
|
||||
if eval "test \"`echo '$''{'guile_cv_struct_utimbuf_needs_posix'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4384 "configure"
|
||||
#line 4385 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __EMX__
|
||||
|
@ -4392,7 +4393,7 @@ struct utime blah;
|
|||
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:4396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:4397: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -4425,13 +4426,13 @@ if test "$cross_compiling" = yes; then
|
|||
echo "configure: warning: Guessing that stack grows down -- see scmconfig.h.in" 1>&2
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4429 "configure"
|
||||
#line 4430 "configure"
|
||||
#include "confdefs.h"
|
||||
aux (l) unsigned long l;
|
||||
{ int x; exit (l >= ((unsigned long)&x)); }
|
||||
main () { int q; aux((unsigned long)&q); }
|
||||
EOF
|
||||
if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:4436: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define SCM_STACK_GROWS_UP 1
|
||||
|
@ -4446,7 +4447,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether floats fit in longs""... $ac_c" 1>&6
|
||||
echo "configure:4450: checking whether floats fit in longs" >&5
|
||||
echo "configure:4451: checking whether floats fit in longs" >&5
|
||||
if eval "test \"`echo '$''{'guile_cv_type_float_fits_long'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -4454,11 +4455,11 @@ else
|
|||
guile_cv_type_float_fits_long=guess-yes
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4458 "configure"
|
||||
#line 4459 "configure"
|
||||
#include "confdefs.h"
|
||||
main () { exit (sizeof(float) > sizeof(long)); }
|
||||
EOF
|
||||
if { (eval echo configure:4462: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:4463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
guile_cv_type_float_fits_long=yes
|
||||
else
|
||||
|
@ -4492,12 +4493,12 @@ esac
|
|||
|
||||
|
||||
echo $ac_n "checking for struct linger""... $ac_c" 1>&6
|
||||
echo "configure:4496: checking for struct linger" >&5
|
||||
echo "configure:4497: checking for struct linger" >&5
|
||||
if eval "test \"`echo '$''{'scm_cv_struct_linger'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 4501 "configure"
|
||||
#line 4502 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
|
@ -4506,7 +4507,7 @@ int main() {
|
|||
struct linger lgr; lgr.l_linger = 100
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:4510: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:4511: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
scm_cv_struct_linger="yes"
|
||||
else
|
||||
|
@ -4566,7 +4567,7 @@ fi
|
|||
### Turn $with_threads into either the name of a threads package, like
|
||||
### `qt', or `no', meaning that threads should not be supported.
|
||||
echo $ac_n "checking whether to support threads""... $ac_c" 1>&6
|
||||
echo "configure:4570: checking whether to support threads" >&5
|
||||
echo "configure:4571: checking whether to support threads" >&5
|
||||
case "$with_threads" in
|
||||
"yes" | "qt" | "coop" | "")
|
||||
with_threads=qt
|
||||
|
@ -4590,7 +4591,7 @@ case "${with_threads}" in
|
|||
|
||||
|
||||
echo $ac_n "checking QuickThreads configuration""... $ac_c" 1>&6
|
||||
echo "configure:4594: checking QuickThreads configuration" >&5
|
||||
echo "configure:4595: checking QuickThreads configuration" >&5
|
||||
# How can we refer to the qt source directory from within the qt build
|
||||
# directory? For headers, we can rely on the fact that the qt src
|
||||
# directory appears in the #include path.
|
||||
|
@ -4735,7 +4736,7 @@ do
|
|||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:4739: checking for $ac_word" >&5
|
||||
echo "configure:4740: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
|
12
configure.in
12
configure.in
|
@ -130,7 +130,7 @@ fi
|
|||
|
||||
GUILE_DLSYM_USCORE
|
||||
|
||||
AC_CHECK_FUNCS(ctermid ftime getcwd geteuid gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid bzero strdup system usleep atexit on_exit)
|
||||
AC_CHECK_FUNCS(ctermid ftime getcwd geteuid gettimeofday lstat mkdir mknod nice readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt strftime strptime symlink sync tcgetpgrp tcsetpgrp times uname waitpid bzero strdup system usleep atexit on_exit)
|
||||
|
||||
### Some systems don't declare some functions. On such systems, we
|
||||
### need to at least provide our own K&R-style declarations.
|
||||
|
@ -208,6 +208,16 @@ AC_CHECK_FUNCS(sethostent gethostent endhostent dnl
|
|||
|
||||
dnl </GNU-WIN32 hacks>
|
||||
|
||||
dnl Test whether system calls are restartable by default on the
|
||||
dnl current system. If they are not, we put a loop around every system
|
||||
dnl call to check for EINTR (see SCM_SYSCALL) and do not attempt to
|
||||
dnl change from the default behaviour. On the other hand, if signals
|
||||
dnl are restartable then the loop is not installed and when libguile
|
||||
dnl initialises it also resets the behaviour of each signal to cause a
|
||||
dnl restart (in case a different runtime had a different default
|
||||
dnl behaviour for some reason: e.g., different versions of linux seem
|
||||
dnl to behave differently.)
|
||||
|
||||
AC_SYS_RESTARTABLE_SYSCALLS
|
||||
|
||||
if test "$ac_cv_header_regex_h" = yes ||
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
1999-09-20 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* scmsigs.c (scm_sigaction): add SA_RESTART to flags only if
|
||||
HAVE_RESTARTABLE_SYSCALLS.
|
||||
(scm_init_scmsigs): use siginterrupt if it's available. not
|
||||
everyone who has restartable syscalls has SA_RESTART it seems.
|
||||
|
||||
(scm_sigaction): use scm_num2long/scm_long2num when converting
|
||||
SIG_DFL/SIG_IGN, in case it doesn't fit in an INUM. use
|
||||
scm_integer_p to test the type.
|
||||
|
||||
1999-09-18 Gary Houston <ghouston@freewire.co.uk>
|
||||
|
||||
* _scm.h, scmsigs.c: replace HAVE_RESTARTS with
|
||||
|
|
|
@ -321,6 +321,9 @@
|
|||
/* Define if you have the sigaction function. */
|
||||
#undef HAVE_SIGACTION
|
||||
|
||||
/* Define if you have the siginterrupt function. */
|
||||
#undef HAVE_SIGINTERRUPT
|
||||
|
||||
/* Define if you have the socketpair function. */
|
||||
#undef HAVE_SOCKETPAIR
|
||||
|
||||
|
|
|
@ -192,9 +192,11 @@ scm_sigaction (SCM signum, SCM handler, SCM flags)
|
|||
|
||||
SCM_ASSERT (SCM_INUMP (signum), signum, SCM_ARG1, s_sigaction);
|
||||
csig = SCM_INUM (signum);
|
||||
#ifdef HAVE_SIGACTION
|
||||
/* always use restartable system calls if available. */
|
||||
#ifdef SA_RESTART
|
||||
#if defined(HAVE_SIGACTION)
|
||||
#if defined(SA_RESTART) && defined(HAVE_RESTARTABLE_SYSCALLS)
|
||||
/* don't allow SA_RESTART to be omitted if HAVE_RESTARTABLE_SYSCALLS
|
||||
is defined, since libguile would be likely to produce spurious
|
||||
EINTR errors. */
|
||||
action.sa_flags = SA_RESTART;
|
||||
#else
|
||||
action.sa_flags = 0;
|
||||
|
@ -210,12 +212,12 @@ scm_sigaction (SCM signum, SCM handler, SCM flags)
|
|||
old_handler = scheme_handlers[csig];
|
||||
if (SCM_UNBNDP (handler))
|
||||
query_only = 1;
|
||||
else if (SCM_INUMP (handler))
|
||||
else if (scm_integer_p (handler) == SCM_BOOL_T)
|
||||
{
|
||||
/* It's really ugly to assume that SIG_DFL can be nicely cast to
|
||||
a fixnum. This has got to go. */
|
||||
if (SCM_INUM (handler) == (SCM) SIG_DFL
|
||||
|| SCM_INUM (handler) == (SCM) SIG_IGN)
|
||||
if (scm_num2long (handler, (char *) SCM_ARG2, s_sigaction)
|
||||
== (long) SIG_DFL
|
||||
|| scm_num2long (handler, (char *) SCM_ARG2, s_sigaction)
|
||||
== (long) SIG_IGN)
|
||||
{
|
||||
#ifdef HAVE_SIGACTION
|
||||
action.sa_handler = (SIGRETTYPE (*) (int)) SCM_INUM (handler);
|
||||
|
@ -278,7 +280,7 @@ scm_sigaction (SCM signum, SCM handler, SCM flags)
|
|||
orig_handlers[csig] = old_action;
|
||||
}
|
||||
if (old_action.sa_handler == SIG_DFL || old_action.sa_handler == SIG_IGN)
|
||||
old_handler = SCM_MAKINUM ((SCM) old_action.sa_handler);
|
||||
old_handler = scm_long2num ((long) old_action.sa_handler);
|
||||
SCM_ALLOW_INTS;
|
||||
return scm_cons (old_handler, SCM_MAKINUM (old_action.sa_flags));
|
||||
#else
|
||||
|
@ -297,7 +299,7 @@ scm_sigaction (SCM signum, SCM handler, SCM flags)
|
|||
orig_handlers[csig] = old_chandler;
|
||||
}
|
||||
if (old_chandler == SIG_DFL || old_chandler == SIG_IGN)
|
||||
old_handler = SCM_MAKINUM ((int) old_chandler);
|
||||
old_handler = scm_long2num (old_chandler);
|
||||
SCM_ALLOW_INTS;
|
||||
return scm_cons (old_handler, SCM_MAKINUM (0));
|
||||
#endif
|
||||
|
@ -442,9 +444,13 @@ scm_init_scmsigs ()
|
|||
#endif
|
||||
|
||||
#ifdef HAVE_RESTARTABLE_SYSCALLS
|
||||
/* ensure that system calls will be restarted for all signals. */
|
||||
/* sigintterupt would be simpler, but it seems better to avoid
|
||||
dependency on another system call. */
|
||||
/* If HAVE_RESTARTABLE_SYSCALLS is defined, it's important that
|
||||
signals really are restartable. don't rely on the same
|
||||
run-time that configure got: reset the default for every signal.
|
||||
*/
|
||||
#ifdef HAVE_SIGINTERRUPT
|
||||
siginterrupt (i, 0);
|
||||
#elif defined SA_RESTART
|
||||
{
|
||||
struct sigaction action;
|
||||
|
||||
|
@ -455,6 +461,9 @@ scm_init_scmsigs ()
|
|||
sigaction (i, &action, NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* if neither siginterrupt nor SA_RESTART are available we may
|
||||
as well assume that signals are always restartable. */
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue