summaryrefslogtreecommitdiffstats
path: root/scmmain.c
diff options
context:
space:
mode:
authorSteve Langasek <vorlon@debian.org>2004-12-07 23:23:48 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:28 -0800
commit37f2f5e0bb11a18deecf48c7ad6bcbf7bd932db2 (patch)
tree692caebb60ec5f80ce528a403b69351ca756d530 /scmmain.c
parente21d47d7813159bb71e0671df9b52ec0470c358d (diff)
parentc7d035ae1a729232579a0fe41ed5affa131d3623 (diff)
downloadscm-e697b63e303e21b92e5a64c73192de4fa3042050.tar.gz
scm-e697b63e303e21b92e5a64c73192de4fa3042050.zip
Import Debian changes 5d9-4.1debian/5d9-4.1
scm (5d9-4.1) unstable; urgency=high * Non-maintainer upload. * High-urgency upload for sarge-targetted RC bugfix. * Revert upstream "CAUTIOUS" define, which causes the scm build to fail its test suite on alpha (and, it appears, powerpc as well). Closes: #245810. scm (5d9-4) unstable; urgency=low * Apply patch from 144062 to fix hppa build (Closes: #144062) * Change scm.1 section from Jan 4 200 to 1. (lintian) scm (5d9-3) unstable; urgency=low * Properly clean up info files. * Make and install Xlibscm.info. scm (5d9-2) unstable; urgency=low * Fix path problem in slibcat. Hack at mklibcat.scm. (Closes: #241510) scm (5d9-1) unstable; urgency=low * New upstream release * Merge NMU sparc changes (Closes: #191171, #191356) * SHORT_INT is defined for ia64 upstream (Closes: #141928) * Scheme imps now grouped in info file (has been for a while) (Closes: #115452)
Diffstat (limited to 'scmmain.c')
-rw-r--r--scmmain.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/scmmain.c b/scmmain.c
index ce2d000..7e501fa 100644
--- a/scmmain.c
+++ b/scmmain.c
@@ -47,12 +47,19 @@
# include <floatingpoint.h>
#endif
+#ifdef _WIN32
+# include <io.h>
+#endif
+
#include "scm.h"
#include "patchlvl.h"
#ifdef __IBMC__
# include <io.h>
#endif
+#ifdef __NetBSD__
+# include <unistd.h>
+#endif
#ifdef __OpenBSD__
# include <unistd.h>
#endif
@@ -68,6 +75,7 @@ char *scm_find_implpath(execpath)
{
char *implpath = 0;
#ifndef nosve
+# ifndef POCKETCONSOLE
char *getenvpath = getenv(INIT_GETENV);
/* fprintf(stderr, "%s=%s\n", INIT_GETENV, getenvpath); fflush(stderr); */
if (getenvpath) implpath = scm_cat_path(0L, getenvpath, 0L);
@@ -80,6 +88,7 @@ char *scm_find_implpath(execpath)
fputs("\") not found; Trying elsewhere\n", stderr);
}
}
+# endif
#endif
if (!implpath && execpath)
implpath = find_impl_file(execpath, GENERIC_NAME, INIT_FILE_NAME, dirsep);
@@ -90,6 +99,12 @@ char *scm_find_implpath(execpath)
}
char *generic_name[] = { GENERIC_NAME };
+#ifdef WINSIGNALS
+SCM_EXPORT HANDLE scm_hMainThread;
+#endif
+
+void scmmain_init_user_scm();
+
int main(argc, argv)
int argc;
char **argv;
@@ -102,10 +117,19 @@ int main(argc, argv)
#ifdef __FreeBSD__
fp_prec_t fpspec;
#endif
+
+#ifdef WINSIGNALS
+ /* need a handle to access the main thread from the signal handler thread */
+ DuplicateHandle(GetCurrentProcess(), GetCurrentThread(), GetCurrentProcess(),
+ &scm_hMainThread, 0, TRUE, DUPLICATE_SAME_ACCESS);
+#endif
+
/* {char ** argvv = argv; */
/* for (;*argvv;argvv++) {fputs(*argvv, stderr); fputs(" ", stderr);} */
/* fputs("\n", stderr);} */
+ init_user_scm = scmmain_init_user_scm;
+
if (0==argc) {argc = 1; argv = generic_name;} /* for macintosh */
#ifndef LACK_SBRK
init_sbrk(); /* Do this before malloc()s. */
@@ -162,7 +186,7 @@ int main(argc, argv)
/* init_user_scm() is called by the scheme procedure
SCM_INIT_EXTENSIONS in "Init5xx.scm" */
-void init_user_scm()
+void scmmain_init_user_scm()
{
/* Put calls to your C initialization routines here. */
}