Optional parent job parameter for coroutine builders
diff --git a/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt b/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
index 2031ae3..372f493 100644
--- a/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
+++ b/core/kotlinx-coroutines-io/src/main/kotlin/kotlinx/coroutines/experimental/io/WriterJob.kt
@@ -23,8 +23,9 @@
fun writer(coroutineContext: CoroutineContext,
channel: ByteChannel,
block: suspend WriterScope.() -> Unit): WriterJob {
- val coroutine = WriterCoroutine(newCoroutineContext(coroutineContext), channel)
- coroutine.initParentJob(coroutineContext[Job])
+ val newContext = newCoroutineContext(coroutineContext)
+ val coroutine = WriterCoroutine(newContext, channel)
+ coroutine.initParentJob(newContext[Job])
block.startCoroutine(coroutine, coroutine)
return coroutine
}