diff options
author | Guido van Rossum <guido@python.org> | 2001-04-10 22:07:43 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-04-10 22:07:43 (GMT) |
commit | bceccf5f43b51d166951ea97cff086c8828b745b (patch) | |
tree | 051a8711efadb0a2c114debc509946507e65469e /Modules | |
parent | 13aa70679ef504a7517261d5c4a3a27ee9aa30c7 (diff) | |
download | cpython-bceccf5f43b51d166951ea97cff086c8828b745b.zip cpython-bceccf5f43b51d166951ea97cff086c8828b745b.tar.gz cpython-bceccf5f43b51d166951ea97cff086c8828b745b.tar.bz2 |
Updated version of RISCOS support. SF patch 411213 by Dietmar Schwertberger
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/main.c | 20 | ||||
-rw-r--r-- | Modules/timemodule.c | 12 |
2 files changed, 22 insertions, 10 deletions
diff --git a/Modules/main.c b/Modules/main.c index b4566c9..0183647 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -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 diff --git a/Modules/timemodule.c b/Modules/timemodule.c index cfce06b..0c5c257 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -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 */ |