Stopper une fonction en cours d'execution
Bonjour.
Voila mon problème :
j'ai un programme non threadé (et je ne souhaite pas qu'il le soit).
J'aimerais que certaines fonctions dispose d'un timeout, c'est a dire que la fonction "toto()" ne doit pas avoir un temps d'execution de plus de 15 secondes. SI il elle dépasse, elle se coupe (ou se fait couper) et on passe apres la fonction. Avec des thread ca serait facilement faisable, mais je ne peux en utiliser.
J'ai recherché sur internet, et j'ai vu un exemple ou quelqun utilise la fonction "alarm()" puis appelle une fonction. au bout du timeout, un SIGALARM est émis, et il "catch" ce sigalarm. Le souci est que dans l'exemple, dans le catch, le programme est coupé. Hors moi je ne souhaite pas qu'il soit coupé, mais qu'il passe apres la fonction.
Avez vous des pistes ?
merci d'avec