[pypy-svn] r40004 - pypy/dist/pypy/lang/js
santagada at codespeak.net
santagada at codespeak.net
Wed Mar 7 00:05:11 CET 2007
Author: santagada
Date: Wed Mar 7 00:05:10 2007
New Revision: 40004
Modified:
pypy/dist/pypy/lang/js/jsparser.py
Log:
rpython modifications
Modified: pypy/dist/pypy/lang/js/jsparser.py
==============================================================================
--- pypy/dist/pypy/lang/js/jsparser.py (original)
+++ pypy/dist/pypy/lang/js/jsparser.py Wed Mar 7 00:05:10 2007
@@ -47,8 +47,20 @@
f = open_file_as_stream(fname, 'w')
f.write(jsdefs+jsparse+"print(parse('%s'));\n" % stripped_code)
f.close()
- pipe = os.popen("js -f "+fname, 'r')
- retval = pipe.read()
+ c2pread, c2pwrite = os.pipe()
+ if os.fork() == 0:
+ #child
+ os.dup2(c2pwrite, 1)
+ for i in range(3, 256):
+ try:
+ os.close(i)
+ except OSError:
+ pass
+ cmd = ['/bin/sh', '-c', 'js -f '+fname]
+ os.execvp(cmd[0], cmd)
+ os.close(c2pwrite)
+ retval = os.read(c2pread, -1)
+ os.close(c2pread)
if not retval.startswith("{"):
raise JsSyntaxError(retval)
if DEBUG:
More information about the Pypy-commit
mailing list