full_write to use safe_write internally, which is needed to guarantee proper behavior, i.e. when writing to a pipe.