You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
For further information visit http://plib.sourceforge.net
return 0; // not looked up yet, wait longer
}
+ if (!addr.isValid()) {
+ SG_LOG(SG_IO, SG_WARN, "Network: host lookup failed:" << host);
+ handleError (ENOENT);
+ close();
+ return -1;
+ }
+
resolving_host = false;
addr.setPort(port);
int result = Socket::connect ( &addr ) ;
SG_LOG(SG_IO, SG_WARN, "Network:" << getHandle() << ": unhandled accept");
}
-void NetChannel::handleError (int error) {
- SG_LOG(SG_IO, SG_WARN,"Network:" << getHandle() << ": errno: " << strerror(errno) <<"(" << errno << ")");
+void NetChannel::handleError (int error)
+{
+ // warn about address lookup failures seperately, don't warn again.
+ // (and we (ab-)use ENOENT to mean 'name not found'.
+ if (error != ENOENT) {
+ SG_LOG(SG_IO, SG_WARN,"Network:" << getHandle() << ": errno: " << strerror(errno) <<"(" << errno << ")");
+ }
}
} // of namespace simgear