mirror of https://github.com/python/cpython
* Makefile: use cp -r to install the library
* ceval.c: use #ifdef COMPAT_HACKS instead of #if 0 * Makefile: fix to make clmodule.c compile; make config.o dependent on libpython.a (so date is always correct) * timemodule.c: now sleep() also takes a float argument. * posixmodule.c: added nice().
This commit is contained in:
parent
d513f0bcb6
commit
775f4dacbc
|
@ -1,6 +1,6 @@
|
|||
/***********************************************************
|
||||
Copyright 1991, 1992 by Stichting Mathematisch Centrum, Amsterdam, The
|
||||
Netherlands.
|
||||
Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum,
|
||||
Amsterdam, The Netherlands.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
|
@ -358,6 +358,23 @@ posix_mkdir(self, args)
|
|||
return posix_strint(args, mkdir);
|
||||
}
|
||||
|
||||
#ifndef MSDOS
|
||||
static object *
|
||||
posix_nice(self, args)
|
||||
object *self;
|
||||
object *args;
|
||||
{
|
||||
int increment, value;
|
||||
|
||||
if (!getargs(args, "i", &increment))
|
||||
return NULL;
|
||||
value = nice(increment);
|
||||
if (value == -1)
|
||||
return posix_error();
|
||||
return newintobject((long) value);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef i386
|
||||
int
|
||||
rename(from, to)
|
||||
|
@ -919,6 +936,9 @@ static struct methodlist posix_methods[] = {
|
|||
{"listdir", posix_listdir},
|
||||
{"lstat", posix_lstat},
|
||||
{"mkdir", posix_mkdir},
|
||||
#ifndef MSDOS
|
||||
{"nice", posix_nice},
|
||||
#endif
|
||||
{"readlink", posix_readlink},
|
||||
{"rename", posix_rename},
|
||||
{"rmdir", posix_rmdir},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/***********************************************************
|
||||
Copyright 1991, 1992 by Stichting Mathematisch Centrum, Amsterdam, The
|
||||
Netherlands.
|
||||
Copyright 1991, 1992, 1993 by Stichting Mathematisch Centrum,
|
||||
Amsterdam, The Netherlands.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
|
@ -124,9 +124,9 @@ time_sleep(self, args)
|
|||
object *self;
|
||||
object *args;
|
||||
{
|
||||
long secs;
|
||||
double secs;
|
||||
SIGTYPE (*sigsave)() = 0; /* Initialized to shut lint up */
|
||||
if (!getargs(args, "l", &secs))
|
||||
if (!getargs(args, "d", &secs))
|
||||
return NULL;
|
||||
BGN_SAVE
|
||||
if (setjmp(sleep_intr)) {
|
||||
|
@ -138,11 +138,7 @@ time_sleep(self, args)
|
|||
sigsave = signal(SIGINT, SIG_IGN);
|
||||
if (sigsave != (SIGTYPE (*)()) SIG_IGN)
|
||||
signal(SIGINT, sleep_catcher);
|
||||
#ifdef BSD_TIME
|
||||
longsleep(secs);
|
||||
#else
|
||||
sleep((int)secs);
|
||||
#endif
|
||||
floatsleep(secs);
|
||||
END_SAVE
|
||||
signal(SIGINT, sigsave);
|
||||
INCREF(None);
|
||||
|
@ -188,7 +184,7 @@ time_millisleep(self, args)
|
|||
sigsave = signal(SIGINT, SIG_IGN);
|
||||
if (sigsave != (SIGTYPE (*)()) SIG_IGN)
|
||||
signal(SIGINT, sleep_catcher);
|
||||
millisleep(msecs);
|
||||
floatsleep(msecs / 1000.0);
|
||||
END_SAVE
|
||||
signal(SIGINT, sigsave);
|
||||
INCREF(None);
|
||||
|
@ -284,12 +280,12 @@ sleep(secs)
|
|||
}
|
||||
#endif
|
||||
|
||||
millisleep(msecs)
|
||||
long msecs;
|
||||
floatsleep(secs)
|
||||
double secs;
|
||||
{
|
||||
register long deadline;
|
||||
|
||||
deadline = MacTicks + msecs * 3 / 50; /* msecs * 60 / 1000 */
|
||||
deadline = MacTicks + long(secs * 60.0);
|
||||
while (MacTicks < deadline) {
|
||||
if (intrcheck())
|
||||
sleep_catcher(SIGINT);
|
||||
|
@ -319,21 +315,17 @@ millitimer()
|
|||
return t.tv_sec*1000 + t.tv_usec/1000;
|
||||
}
|
||||
|
||||
millisleep(msecs)
|
||||
long msecs;
|
||||
floatsleep(secs)
|
||||
double secs;
|
||||
{
|
||||
struct timeval t;
|
||||
t.tv_sec = msecs/1000;
|
||||
t.tv_usec = (msecs%1000)*1000;
|
||||
(void) select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t);
|
||||
}
|
||||
|
||||
longsleep(secs)
|
||||
long secs;
|
||||
{
|
||||
struct timeval t;
|
||||
t.tv_sec = secs;
|
||||
t.tv_usec = 0;
|
||||
double frac;
|
||||
extern double fmod PROTO((double, double));
|
||||
extern double floor PROTO((double));
|
||||
frac = fmod(secs, 1.0);
|
||||
secs = floor(secs);
|
||||
t.tv_sec = (long)secs;
|
||||
t.tv_usec = (long)(frac*1000000.0);
|
||||
(void) select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t);
|
||||
}
|
||||
|
||||
|
@ -347,10 +339,10 @@ longsleep(secs)
|
|||
#endif
|
||||
|
||||
static
|
||||
millisleep(msecs)
|
||||
long msecs;
|
||||
floatsleep(secs)
|
||||
double secs;
|
||||
{
|
||||
delay(msecs);
|
||||
delay(long(secs/1000.0));
|
||||
}
|
||||
|
||||
static long
|
||||
|
@ -359,7 +351,7 @@ millitimer()
|
|||
clock_t ticks;
|
||||
|
||||
ticks = clock(); /* ticks since program start */
|
||||
return ticks * CLOCKS_PER_SEC;
|
||||
return ticks * CLOCKS_PER_SEC;/* XXX shouldn't this be different? */
|
||||
}
|
||||
|
||||
#endif /* TURBO_C */
|
||||
|
|
|
@ -819,7 +819,7 @@ eval_code(co, globals, locals, arg)
|
|||
n = gettuplesize(v);
|
||||
}
|
||||
}
|
||||
#if 0 /* Compatibility hacks no longer needed (I think) */
|
||||
#ifdef COMPAT_HACKS /* Compatibility hacks no longer needed (I think) */
|
||||
else if (n != 1 && oparg == 1) {
|
||||
/* Rule (b) */
|
||||
PUSH(v);
|
||||
|
|
Loading…
Reference in New Issue