=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
I always get confused about this, and can't seem to find it in the spec, but if you can get an `onNext` before you're finished with this `onSubscribe`,  then there is a race with the `sub` variable. How about visibility? Should it be `@volatile`?