Author: Carl Friedrich Bolz-Tereick <cfb...@gmx.de> Branch: Changeset: r95395:74c1f4c8363d Date: 2018-12-02 13:38 +0100 http://bitbucket.org/pypy/pypy/changeset/74c1f4c8363d/
Log: ouch: scoped_alloc can itself allocate a GC object, the with handler! thus it can't be used here, now that time.time is used from the GC. diff --git a/rpython/rlib/rtime.py b/rpython/rlib/rtime.py --- a/rpython/rlib/rtime.py +++ b/rpython/rlib/rtime.py @@ -136,7 +136,8 @@ void = lltype.nullptr(rffi.VOIDP.TO) result = -1.0 if HAVE_GETTIMEOFDAY: - with lltype.scoped_alloc(TIMEVAL) as t: + t = lltype.malloc(TIMEVAL, flavor='raw') + try: errcode = -1 if GETTIMEOFDAY_NO_TZ: errcode = c_gettimeofday(t) @@ -145,13 +146,18 @@ if rffi.cast(rffi.LONG, errcode) == 0: result = decode_timeval(t) + finally: + lltype.free(t, flavor='raw') if result != -1: return result else: # assume using ftime(3) - with lltype.scoped_alloc(TIMEB) as t: + t = lltype.malloc(TIMEB, flavor='raw') + try: c_ftime(t) result = (float(intmask(t.c_time)) + float(intmask(t.c_millitm)) * 0.001) + finally: + lltype.free(t, flavor='raw') return result return float(c_time(void)) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit