On Thu, 5 Jan 2023 11:47:56 GMT, Yi Yang <yy...@openjdk.org> wrote: >> Looks like Windows needs a long fd so the shared API takes long and we then >> cast to int for the Unix native methods. A little messy but fixable. > >> If you add read/close methods for Windows that then call readPipe/closePipe, >> then we don't need to subclass and override. > > Sorry, I don't understand what this means. VirtualMachineImpl is > platform-dependent while HotSpotVirtualMachine is shared, we always need to > sub-class socket input stream in order to call platform-depend read/close.
As long as all the platform-specific `VirtualMachineImpl` classes define a `read` and `close` method then we can simply have the shared socket stream class call those methods. Windows will need an extra level of indirection because its `read` method will have to call `readPipe`. ------------- PR: https://git.openjdk.org/jdk/pull/11823