¿Por qué wait () establece el estado en 256 en lugar del estado de salida -1 del proceso bifurcado?

Estoy tratando de devolver un valor entero de un proceso secundario.

Sin embargo, si usosalida (1) yo obtengo256 como la salidasalida (-1) da65280.

¿Hay alguna manera de obtener el valor int real que envío desde el proceso secundario?

if(!(pid=fork()))
{
    exit(1);
}
waitpid(pid,&status,0);
printf("%d",status);

Editar: Usando exit (-1) (que es lo que realmente quiero) obtengo 255 como salida para WEXITSTATUS (estado). ¿Se supone que no está firmado?

Respuestas a la pregunta(5)

Su respuesta a la pregunta