Skip to content

Commit b2fde42

Browse files
authored
Ensure the test SingleItemObservable emits item only once (#631)
1 parent 923eb86 commit b2fde42

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

driver-scala/src/main/scala/org/mongodb/scala/internal/SingleItemObservable.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,18 @@ private[scala] case class SingleItemObservable[A](item: A) extends SingleObserva
2525
new Subscription {
2626
@volatile
2727
private var subscribed: Boolean = true
28+
@volatile
29+
private var completed: Boolean = false
2830

2931
override def isUnsubscribed: Boolean = !subscribed
3032

3133
override def request(n: Long): Unit = {
3234
require(n > 0L, s"Number requested must be greater than zero: $n")
3335

34-
if (subscribed) {
36+
if (subscribed && !completed) {
3537
observer.onNext(item)
3638
observer.onComplete()
39+
completed = true
3740
}
3841
}
3942

0 commit comments

Comments
 (0)