akarnokd / akarnokd/reactive4java
Concurrency operators exhibit registration race condition
- Ngôn ngữ chính
- Java
- Star
- 3
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
```
Operators working with multiple sources have problem with initial registration.
Depending on the operator.
The first problem is that the registration and remembering is usually not
protected by a lock, or the half constucted defaultobserver escapes. I.e., when
the registration happens, the source might send values immediately.
The second problem is that if a registration triggers execution which brings
the observer into a completed state, any subsequent registrations are
unnecessary, but still happen and will bombard the defaultobserver indefinitely.
Solution:
- protect the sub-registrations with the same observer lock.
- after each registration, check if the observer completed and do not register
further
Therefore the defaultobserver has 5 "messages"
onNext, onError, onFinish, onClose, onRegister
```
Original issue reported on code.google.com by `akarn...@gmail.com` on 4 Apr 2012 at 5:54
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.