the current logic will `rm` files, then generate them in place. this breaks parallel building in the system as there is a window where nothing exists. i'd post a diff to the actual repo, but i have no idea where this thing is hosted. the ebuilds and the source lacks details.
Somewhat confusingly, eselect mesa and opengl (and a bunch of others) are in the 'extern' branch of http://git.overlays.gentoo.org/gitweb/?p=proj/eselect.git;a=summary
Created attachment 375716 [details, diff] 0001-update-env.d-entry-atomically.patch
Created attachment 375718 [details, diff] 0002-simplify-file-deletion.patch
Created attachment 375720 [details, diff] 0003-do-not-delete-related-files-when-updating.patch
Created attachment 375722 [details, diff] 0004-upgrade-files-atomically.patch
eselect-opengl-1.3* no longer plays with symlinks, so atomicity has improved ;). We could try to create the two config files atomically but I don't think there's a big point in it.
(In reply to Michał Górny from comment #6) unfortunately, updating the config files atomically is also important. see the referenced CrOS bug report which started me investigating things.