bugfix: in pipe, after cas, when guard set to NULL, writer will adjust rpos's value, so reader need prefetch it
bugfix: compiler use (possibly dated) register-value of 's->first' when writer adjusts pointers
Merge branch 'bugfix-pipe'