RFR: 8042088: Sjavac spawns external processes in a unnecessarily complex and platform dependent way

Andreas Lundblad andreas.lundblad at oracle.com
Wed Oct 15 12:59:24 UTC 2014

Hi compiler-dev,

Please review this patch which addresses JDK-8042088.

- Description:
This patch is a refactoring and cleanup of the code that spawns the external process for running the sjavac server.

Since the fix of JDK-8048457 a server is never spawned as a separate thread. (background=false -> Direct use of SjavacImpl, background=true -> Server in separate JVM). This patch removes the (now dead) code that spawns the server in a thread.

The patch also fixes a small race condition in PortFile.

- All langtool tests pass
- make images runs without errors
- Giving a bad launch command (sjavac=...) results in correct error message
- Bad server executable (that never writes values to the port file) results in correct error message

- Link to webrev:

- Links to bug report:

-- Andreas

More information about the compiler-dev mailing list