Tempo fa girando su google news ho letto una cosa che mi ha lasciato senza parole! VVoVe:
Guardate il seguente codice:
#include <sys/time.h>
#include <signal.h>
#include <unistd.h>
static void Handler(int ignore)
{
char fpubuf[108];
__asm__ __volatile__ ("fsave %0\n" : : "m"(fpubuf));
write(2, "*", 1);
__asm__ __volatile__ ("frstor %0\n" : : "m"(fpubuf));
}
int main(int argc, char *argv[])
{
struct itimerval spec;
signal(SIGALRM, Handler);
spec.it_interval.tv_sec=0;
spec.it_interval.tv_usec=100;
spec.it_value.tv_sec=0;
spec.it_value.tv_usec=100;
setitimer(ITIMER_REAL, &spec, NULL);
while(1)
write(1, ".", 1);
return 0;
}
Non provate a compilare il programma!!!!!!
Si tratta di un vero e proprio bug di linux semplici righe che mandano in crash il sistema! Per fortuna tutta la comunità dell'opensource si è mobilitata per trovare quanto prima possibli una soluzione a questo problemaccio!
Qualcuno sa se per caso il problema è stato risolto???