Is the extra test on __linux__ needed?  I assume so.