Salut, Am avut si eu o problema asemanatoare, tot intr-un while, un if(strcmp( command.name,EXIT_STR)==0) break; si nu mi se oprea.
Solutia a fost pana la urma sa dau exit() in loc de break, nu stiu de ce facea chestia asta. Cristian În data de 7 aprilie 2012, 19:34, Razvan Crainea <[email protected]>a scris: > 2012/4/7 Adrian-Gabriel MICLE <[email protected]>: > > Salut! > > > > Am o mica problema. Gateway-ul meu citeste intr-un ciclu while comenzi > din mailslot-ul in care scriu clientii. Totul merge fain frumos pana cand > se primeste comanda exit. Pentru tratarea acesteia folosesc urmatoarea > secventa: > > > > if (strncmp(cmd.name, "exit", 4) == 0) { > > /* > > * foreach server: > > * send exit; > > */ > > break; > > } > > > > In urma iesirii din while se fac operatiile de cleanup si apoi return. > Insa, programele, in loc sa se opreasca, se repornesc. Trebuie sa dau > "exit" de vreo 6 ori ca sa-mi iasa efectiv. > > > > Intuieste cineva care ar putea fi problema? > > > > Salut, Gabriel! > > În ce sens se repornesc, se execută din nou programul? Ești sigur ca > if-ul respectiv nu este în două bucle: > > while (cond1) { > ... > while (cond2) { > ... > if (...){ > } > } > } > > > -- > Răzvan Crainea > _______________________________________________ > http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
_______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
