snoyberg/xml — comment on commit a4763739093c525d8f509b11e72a2d17894afaac
File:  line 0
By meteficha:

Regarding `threadWaitRead`, I don't know if I understand what is the problem. Why does an hypothetical `sourceFile` using low-level OS file operations need to care about concurrency, since its only interesting operation is pulling some data? We would open the low-level handle inside `sourceFile` and nobody else would use it. Also, note that we may steal `iteratee`s low-level code since it uses plain file descriptors on Unix and has something for Windows.

Regarding writes, I think it's fine to have a `sinkFile` which doesn't care about its input chunking and a conduit that glues together chunks that are too small. This way users that know what they're doing with their sources get full control of buffering of their sinks on their hands and users who don't get a simple way of fixing it. Actually, I think this is the only correct way of doing it: the file `sinkFile` is writing to could be a pipe and doing buffering ourselves could deadlock the application.