diff -r 35a279a2d246 -r a6bdf4b889ca src/Pure/System/isabelle_system.scala --- a/src/Pure/System/isabelle_system.scala Tue Sep 13 23:01:42 2022 +0200 +++ b/src/Pure/System/isabelle_system.scala Tue Sep 13 23:06:52 2022 +0200 @@ -9,6 +9,7 @@ import java.util.{Map => JMap, HashMap} import java.io.{File => JFile, IOException} +import java.net.ServerSocket import java.nio.file.{Path => JPath, Files, SimpleFileVisitor, FileVisitResult, StandardCopyOption, FileSystemException} import java.nio.file.attribute.BasicFileAttributes @@ -349,6 +350,15 @@ } + /* TCP/IP ports */ + + def local_port(): Int = { + val socket = new ServerSocket(0) + val port = socket.getLocalPort + socket.close() + port + } + /** external processes **/