diff options
author | Paul Phillips <paulp@improving.org> | 2011-01-12 06:16:56 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-01-12 06:16:56 +0000 |
commit | 2e7d7d45557474df61d54e672bedf07a8ff149d4 (patch) | |
tree | fb218a2c7a37c4326525e32134990dd9756c5fc4 /src/library/scala/sys/process/package.scala | |
parent | 5bada810b4c7eda186aa40b94a78326520b3fa92 (diff) | |
download | scala-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.scala | 11 |
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) + } } } |