Usando volátil largo como un atómico

Si tengo algo como esto ...

volatile long something_global = 0;

long some_public_func()
{
    return something_global++;
}

¿Sería razonable esperar que este código no se rompa (condición de carrera) cuando se accede con múltiples hilos? Si no es estándar, ¿podría hacerse como una suposición razonable sobre los compiladores modernos?

NOTA: TODO lo que estoy usando para esto es el incremento y decremento atómico, nada más elegante.

Respuestas a la pregunta(6)

Su respuesta a la pregunta