diff --git a/Fltk/GmshServer.h b/Fltk/GmshServer.h index 8cf04c33755250c80259c8f6b533c1d68617c67d..8c2cac5874d8503800ecd19aceff8d499278227a 100644 --- a/Fltk/GmshServer.h +++ b/Fltk/GmshServer.h @@ -194,7 +194,8 @@ class GmshServer { if(justwait){ // wait indefinitely until we get data, polling every 10 ms - WaitForData(s, -1, 10, 1.); + if(WaitForData(s, -1, 10, 1.)) + return -6; // not an actual error: we just stopped listening } else{ // Wait at most _maxdelay seconds for data, issue error if no diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp index d714663133ed4739a1d5ba202fae1273841b4d81..203ab336bbade4bdeaecf3f80e5a02562026e409 100644 --- a/Fltk/Solvers.cpp +++ b/Fltk/Solvers.cpp @@ -1,4 +1,4 @@ -// $Id: Solvers.cpp,v 1.45 2006-02-24 03:30:21 geuzaine Exp $ +// $Id: Solvers.cpp,v 1.46 2006-02-24 04:03:38 geuzaine Exp $ // // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle // @@ -156,6 +156,10 @@ int Solver(int num, char *args) case -5: Msg(GERROR, "Socket accept failed on '%s'", sockname); break; + case -6: + Msg(INFO, "Stopped listening for solver connections"); + server.StopClient(); + break; } if(num >= 0){ for(int i = 0; i < SINFO[num].nboptions; i++)