ctrl_c
Publié : mar. oct. 15, 2013 8:46 am
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.
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.