summaryrefslogtreecommitdiff
path: root/configure.com
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2002-03-23 17:23:00 -0600
committerJarkko Hietaniemi <jhi@iki.fi>2002-03-24 04:48:19 +0000
commit05c058bc16a76532007427c68eaafb53a23230dc (patch)
tree47b0491ba687e0377f10fe3a388b03e553e8fa7d /configure.com
parent41f7d5685018fc726af602078e1eed7cf60d711e (diff)
downloadperl-05c058bc16a76532007427c68eaafb53a23230dc.tar.gz
extend use of home-grown kill() on VMS
From: "Craig A. Berry" <craigberry@mac.com> Message-Id: <a05101504b8c30e72f3e4@[172.16.52.1]> p4raw-id: //depot/perl@15459
Diffstat (limited to 'configure.com')
-rw-r--r--configure.com17
1 files changed, 11 insertions, 6 deletions
diff --git a/configure.com b/configure.com
index d7d0479fa7..cfa695cac5 100644
--- a/configure.com
+++ b/configure.com
@@ -4943,24 +4943,29 @@ $ GOSUB compile
$ nv_preserves_uv_bits = tmp
$ ENDIF
$!
-$ echo4 "Checking whether your kill() uses SYS$FORCEX..."
+$ echo4 "Checking if kill() uses SYS$FORCEX or can't be called from a signal handler..."
$ kill_by_sigprc = "undef"
$ OS
$ WS "#include <stdio.h>"
$ WS "#include <signal.h>"
$ WS "#include <unistd.h>"
-$ WS "void handler(int s) { printf(""%d\n"",s); } "
+$ WS "void handler1(int s) { printf(""%d"",s); kill(getpid(),2); }"
+$ WS "void handler2(int s) { printf(""%d"",s); }"
$ WS "main(){"
$ WS " printf(""0"");"
-$ WS " signal(1,handler); kill(getpid(),1);"
+$ WS " signal(1,handler1);"
+$ WS " signal(2,handler2);"
+$ WS " kill(getpid(),1);"
+$ WS " sleep(1);"
+$ WS " printf(""\n"");"
$ WS "}"
$ CS
$ ON ERROR THEN CONTINUE
$ GOSUB compile
-$ IF tmp .NES. "01"
+$ IF tmp .NES. "012"
$ THEN
-$ echo4 "Yes, it does."
-$ echo4 "Checking whether we can use SYS$SIGPRC instead"
+$ echo4 "Yes, it has at least one of those limitations."
+$ echo4 "Checking whether we can use SYS$SIGPRC instead..."
$ OS
$ WS "#include <stdio.h>"
$ WS "#include <lib$routines.h>"