Page 1 sur 1

ctrl_c

Publié : mar. oct. 15, 2013 8:46 am
par frederic han
Salut,

Dans giacpy (version python pas dans sage) j'utilise le GIAC_ctrl_c_signal_handler.

Certaines instructions: Ex giac('normal(a+b+c+d+1)**60)') passent par protecteval

et d'autres passent par les operateurs:

notamment: toutes les fonction ou attributs utilsent __call__:
Ex: g.normal()

et donc passent par: gen operator()(gen & i,context * contextptr)

et pour +,- ... j'utilise aussi des operator.

Si j'interrompt un protecteval je n'ai aucun pb. Mais si j'interrompt un operateur, alors il ne veut plus redemarrer bien que j'ai mais des ressetctrl_c un peu partout. (giac::ctrl_c=false;)
il a l'air d'etre bien remis a false lorsque je le fais afficher, mais J'ai l'impression que les operateurs ne voient pas ce nouveau ctrl_c ou sont bloques par autre chose.

si je fais un protecteeval ensuite via: giac('') alors ca debloque bien g.normal().

Est ce que je devrais utiliser d'autres fonctions de giac, ou que fait protecteval que je devrais faire en plus de remettre ctrl_c a false.

Re: ctrl_c

Publié : mar. oct. 15, 2013 10:03 am
par parisse
Essaie aussi de mettre interrupted a false (c'est vrai que ca fait un peu double-emploi...).

Re: ctrl_c

Publié : mar. oct. 15, 2013 12:19 pm
par frederic han
Super!

C'est exactement ca, cette fois c'est bien stable (sauf pari mais je n'ai pas envie de faire des threads en python)

Fred