Non capisco se il problema risieda nel mio codice, in un bug di glpk
(ma il maintainer mi ha risposto di no) o in un bug della libreria di
threading delle Qt.
Un micro-esempio compilabile di esempio può essere scaricato da:
http://grecof2.econ.univpm.it/~lobianco/public/qtglpk.tgz
ma il punto principale è comunque questo:
[CODE]
int main(int argc, char *argv[]){
cout << "Test on a glpk application using Qt Threads" <<
endl<<endl;
Thread wThread; // subclassa QThread giusto per ridefinire il
metodo run()
for (uint y=0;y<5000;y++){
wThread.start(); // esegue un semplice esempio chiamando la
libreria glpk
wThread.wait();
}
cout <<"All done without errors (crashing)"<<endl;
return 0;
}
[/CODE]
Chiamando wThread.start() il working thread esegue un semplice esempio
riportato nella documentazione di glpk (per la verità loopando un po'
di volte) e dopo un po' mi crasha con il seguente messaggio:
[QUOTE]
Assertion failed: xlcmp(env->t_last, t) <= 0
Error detected in file glplib10.c at line 109
[/QUOTE]
( http://grecof2.econ.univpm.it/~lobianco/public/glplib10.c )
mentre se faccio girare quest'esempio nel thread principale non ho
errori.
Dove sbaglio??
Per caso e' la libreria glpk della GNU?
C'e' una mailing list apposta:
http://www.mail-archive.com/help...@gnu.org/info.html
E pure una dove spedire i bug reports: bug-...@gnu.org
Penso che quelle siano meglio di questa nel rispodere ad un problema
non necessariamente specifico al C++.