Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
lihaoyi committed Feb 18, 2025
1 parent 2cfe240 commit 3e7c735
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions os/src/ProcessOps.scala
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ object call {
check = check,
propagateEnv = propagateEnv,
shutdownGracePeriod = timeoutGracePeriod,
destroyOnExit = false
destroyOnExit = true
)
}
}
Expand Down Expand Up @@ -130,7 +130,7 @@ object spawn {
mergeErrIntoOut = mergeErrIntoOut,
propagateEnv = propagateEnv,
shutdownGracePeriod = 100,
destroyOnExit = false
destroyOnExit = true
)
}
}
Expand Down Expand Up @@ -279,7 +279,7 @@ case class proc(command: Shellable*) {
check,
propagateEnv,
timeoutGracePeriod,
destroyOnExit = false
destroyOnExit = true
)

/**
Expand Down Expand Up @@ -323,10 +323,16 @@ case class proc(command: Shellable*) {
propagateEnv
)

println("destroyOnExit " + destroyOnExit)
println("command.value " + command.value)
lazy val shutdownHookThread =
if (!destroyOnExit) None
else Some(new Thread("subprocess-shutdown-hook") {
override def run(): Unit = proc.destroy(shutdownGracePeriod)
override def run(): Unit = {
println("proc.destroy(shutdownGracePeriod)")
proc.destroy(shutdownGracePeriod)
println("proc.destroy(shutdownGracePeriod) END")
}
})

lazy val shutdownHookMonitorThread = shutdownHookThread.map(t =>
Expand All @@ -335,6 +341,7 @@ case class proc(command: Shellable*) {
while (proc.wrapped.isAlive) Thread.sleep(1)
try Runtime.getRuntime().removeShutdownHook(t)
catch { case e: Throwable => /*do nothing*/ }
println("XXX shutdownHookMonitorThread END")
}
}
)
Expand All @@ -350,6 +357,8 @@ case class proc(command: Shellable*) {
shutdownHookMonitorThread = shutdownHookMonitorThread
)

println("XXX shutdownHookMonitorThread.foreach(_.start())")

shutdownHookMonitorThread.foreach(_.start())

proc.inputPumperThread.foreach(_.start())
Expand All @@ -376,7 +385,7 @@ case class proc(command: Shellable*) {
mergeErrIntoOut = mergeErrIntoOut,
propagateEnv = propagateEnv,
shutdownGracePeriod = 100,
destroyOnExit = false
destroyOnExit = true
)

/**
Expand Down

0 comments on commit 3e7c735

Please sign in to comment.