Beispiel #1
0
def _dump_rpy_heap(space, fd):
    try:
        ok = rgc.dump_rpy_heap(fd)
    except OSError as e:
        raise wrap_oserror(space, e)
    if not ok:
        raise missing_operation(space)
Beispiel #2
0
def _dump_rpy_heap(space, fd):
    try:
        ok = rgc.dump_rpy_heap(fd)
    except OSError as e:
        raise wrap_oserror(space, e)
    if not ok:
        raise missing_operation(space)
Beispiel #3
0
 def fn():
     s = lltype.malloc(S)
     s.u = lltype.malloc(U)
     s.u.next = lltype.malloc(U)
     s.u.next.next = lltype.malloc(U)
     a = lltype.malloc(A, 1000)
     s2 = lltype.malloc(S)
     #
     fd1 = os.open(filename1, os.O_WRONLY | os.O_CREAT, 0666)
     fd2 = os.open(filename2, os.O_WRONLY | os.O_CREAT, 0666)
     rgc.dump_rpy_heap(fd1)
     rgc.dump_rpy_heap(fd2)      # try twice in a row
     keepalive_until_here(s2)
     keepalive_until_here(s)
     keepalive_until_here(a)
     os.close(fd1)
     os.close(fd2)
     return 0
Beispiel #4
0
 def fn():
     s = lltype.malloc(S)
     s.u = lltype.malloc(U)
     s.u.next = lltype.malloc(U)
     s.u.next.next = lltype.malloc(U)
     a = lltype.malloc(A, 1000)
     s2 = lltype.malloc(S)
     #
     fd1 = os.open(filename1, os.O_WRONLY | os.O_CREAT, 0666)
     fd2 = os.open(filename2, os.O_WRONLY | os.O_CREAT, 0666)
     # try to ensure we get twice the exact same output below
     gc.collect(); gc.collect(); gc.collect()
     rgc.dump_rpy_heap(fd1)
     rgc.dump_rpy_heap(fd2)      # try twice in a row
     keepalive_until_here(s2)
     keepalive_until_here(s)
     keepalive_until_here(a)
     os.close(fd1)
     os.close(fd2)
     return 0
Beispiel #5
0
            if we_are_translated():
                os.write(2, "Fatal interpreter error %s\n" % e.msg)
            else:
                print >>sys.stderr, "%s: %s\n" % (e.__class__.__name__, e.msg)

        except ParseError as e:
            print e.__str__()
            return 1
        except ExplicitExitException, e:
            os.write(1, e.message)
            exitcode = e.code
        except SignalReceived:
            exitcode = 130
        if exitcode:
            return exitcode
        if i < no - 1:
            interp = Interpreter(space)
            if ini_data is not None:
                try:
                    load_ini(interp, ini_data)
                except:
                    os.write(2, "error reading `hippy.ini`")
    if gcdump is not None:
        f = os.open(gcdump, os.O_CREAT | os.O_WRONLY, 0777)
        dump_rpy_heap(f)
        os.close(f)
    return exitcode

if __name__ == '__main__':
    sys.exit(entry_point(sys.argv))
Beispiel #6
0
def _dump_rpy_heap(space, fd):
    try:
        ok = rgc.dump_rpy_heap(fd)
    except OSError, e:
        raise wrap_oserror(space, e)
Beispiel #7
0
                os.write(2, "Fatal interpreter error %s\n" % e.msg)
            else:
                print >> sys.stderr, "%s: %s\n" % (e.__class__.__name__, e.msg)

        except ParseError as e:
            print e.__str__()
            return 1
        except ExplicitExitException, e:
            os.write(1, e.message)
            exitcode = e.code
        except SignalReceived:
            exitcode = 130
        if exitcode:
            return exitcode
        if i < no - 1:
            interp = Interpreter(space)
            if ini_data is not None:
                try:
                    load_ini(interp, ini_data)
                except:
                    os.write(2, "error reading `hippy.ini`")
    if gcdump is not None:
        f = os.open(gcdump, os.O_CREAT | os.O_WRONLY, 0777)
        dump_rpy_heap(f)
        os.close(f)
    return exitcode


if __name__ == '__main__':
    sys.exit(entry_point(sys.argv))
Beispiel #8
0
def _dump_rpy_heap(space, fd):
    try:
        ok = rgc.dump_rpy_heap(fd)
    except OSError, e:
        raise wrap_oserror(space, e)