Files
Terrarum/src/net/torvald/terrarum/virtualcomputer/terminal/TerminalInputStream.kt
Song Minjae 55f7a4ed46 working io.read from STDIN
Former-commit-id: b1168a53fd5fbd09c6a5a76506402560fc4e0fd7
Former-commit-id: a0d455da14a6eb7bf0127e136949273ec5a28628
2017-03-02 22:35:13 +09:00

23 lines
611 B
Kotlin

package net.torvald.terrarum.virtualcomputer.terminal
import net.torvald.terrarum.virtualcomputer.computer.TerrarumComputer
import java.io.InputStream
/**
* Created by minjaesong on 16-09-10.
*/
class TerminalInputStream(val host: TerrarumComputer) : InputStream() {
override fun read(): Int {
//System.err.println(Thread.currentThread().name)
// would display "LuaJ Separated", which means this InputStream will not block main thread
host.openStdin()
synchronized(this) {
(this as java.lang.Object).wait()
}
return host.stdinInput
}
}