summaryrefslogtreecommitdiff
path: root/src/library/scala/sys/process/package.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-01-12 06:16:56 +0000
committerPaul Phillips <paulp@improving.org>2011-01-12 06:16:56 +0000
commit2e7d7d45557474df61d54e672bedf07a8ff149d4 (patch)
treefb218a2c7a37c4326525e32134990dd9756c5fc4 /src/library/scala/sys/process/package.scala
parent5bada810b4c7eda186aa40b94a78326520b3fa92 (diff)
downloadscala-2e7d7d45557474df61d54e672bedf07a8ff149d4.tar.gz
scala-2e7d7d45557474df61d54e672bedf07a8ff149d4.tar.bz2
scala-2e7d7d45557474df61d54e672bedf07a8ff149d4.zip
More fiddling with the process code.
Diffstat (limited to 'src/library/scala/sys/process/package.scala')
-rw-r--r--src/library/scala/sys/process/package.scala11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/library/scala/sys/process/package.scala b/src/library/scala/sys/process/package.scala
index 659c883d39..ae501841fa 100644
--- a/src/library/scala/sys/process/package.scala
+++ b/src/library/scala/sys/process/package.scala
@@ -11,7 +11,8 @@ package scala.sys
package object process extends ProcessImplicits {
// These are in a nested object instead of at the package level
// due to the issues described in tickets #3160 and #3836.
- private[process] object processAliases {
+ private[process] object processInternal {
+ type =?>[-A, +B] = PartialFunction[A, B]
type Closeable = java.io.Closeable
type File = java.io.File
type IOException = java.io.IOException
@@ -21,5 +22,13 @@ package object process extends ProcessImplicits {
type OutputStream = java.io.OutputStream
type SyncVar[T] = scala.concurrent.SyncVar[T]
type URL = java.net.URL
+
+ def onInterrupt[T](handler: => T): Throwable =?> T = {
+ case _: InterruptedException => handler
+ }
+
+ def ioFailure[T](handler: IOException => T): Throwable =?> T = {
+ case e: IOException => handler(e)
+ }
}
}