Updated version of RISCOS support. SF patch 411213 by Dietmar Schwertberger

This commit is contained in:
Guido van Rossum 2001-04-10 22:07:43 +00:00
parent 13aa70679e
commit bceccf5f43
11 changed files with 240 additions and 162 deletions

View file

@ -26,10 +26,18 @@
static char **orig_argv;
static int orig_argc;
/* For my_readline when running under RISCOS */
#ifdef RISCOS
/* command line options */
#define BASE_OPTS "c:diOStuUvxXhVW:"
#ifndef RISCOS
#define PROGRAM_OPTS BASE_OPTS
#else /*RISCOS*/
/* extra option saying that we are running under a special task window
frontend; especially my_readline will behave different */
#define PROGRAM_OPTS BASE_OPTS "w"
/* corresponding flag */
extern int Py_RISCOSWimpFlag;
#endif
#endif /*RISCOS*/
/* Short usage message (with %s for argv0) */
static char *usage_line =
@ -115,11 +123,7 @@ Py_Main(int argc, char **argv)
PySys_ResetWarnOptions();
#ifdef RISCOS
while ((c = getopt(argc, argv, "c:diOStuUvwxXhV")) != EOF) {
#else
while ((c = _PyOS_GetOpt(argc, argv, "c:diOStuUvxXhVW:")) != EOF) {
#endif
while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) {
if (c == 'c') {
/* -c is the last option; following arguments
that look like options are left for the

View file

@ -756,9 +756,7 @@ floatsleep(double secs)
#if defined(__WATCOMC__) && !defined(__QNX__)
/* XXX Can't interrupt this sleep */
Py_BEGIN_ALLOW_THREADS
#ifndef RISCOS
delay((int)(secs * 1000 + 0.5)); /* delay() uses milliseconds */
#endif
Py_END_ALLOW_THREADS
#else /* !__WATCOMC__ || __QNX__ */
#ifdef MSDOS
@ -831,10 +829,20 @@ floatsleep(double secs)
Py_END_ALLOW_THREADS
}
#else /* !__BEOS__ */
#ifdef RISCOS
if (secs <= 0.0)
return 0;
Py_BEGIN_ALLOW_THREADS
/* This sleep *CAN BE* interrupted. */
if ( sleep(secs) )
return -1;
Py_END_ALLOW_THREADS
#else /* !RISCOS */
/* XXX Can't interrupt this sleep */
Py_BEGIN_ALLOW_THREADS
sleep((int)secs);
Py_END_ALLOW_THREADS
#endif /* !RISCOS */
#endif /* !__BEOS__ */
#endif /* !PYOS_OS2 */
#endif /* !MS_WIN32 */