From c7ab26871c3c79843303a10408438b330ceca8c4 Mon Sep 17 00:00:00 2001 From: curt Date: Thu, 19 Dec 2002 21:55:05 +0000 Subject: [PATCH] Allow the polling frequency of the telnet/props server to be set on the command line. --- src/Network/props.cxx | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/Network/props.cxx b/src/Network/props.cxx index 8dd3331ef..551737b3c 100644 --- a/src/Network/props.cxx +++ b/src/Network/props.cxx @@ -384,12 +384,25 @@ FGProps::FGProps( const vector& tokens ) // tokens: // props,port# // props,medium,direction,hz,hostname,port#,style - if (tokens.size() == 2) + if (tokens.size() == 2) { port = atoi( tokens[1].c_str() ); - else if (tokens.size() == 7) + set_hz( 5 ); // default to processing requests @ 5Hz + } else if (tokens.size() == 7) { + char* endptr; + errno = 0; + int hz = strtol( tokens[3].c_str(), &endptr, 10 ); + if (errno != 0) { + SG_LOG( SG_IO, SG_ALERT, "I/O poll frequency out of range" ); + set_hz( 5 ); // default to processing requests @ 5Hz + } else { + SG_LOG( SG_IO, SG_INFO, "Setting I/O poll frequency to " + << hz << " Hz"); + set_hz( hz ); + } port = atoi( tokens[5].c_str() ); - else + } else { throw FGProtocolConfigError( "FGProps: incorrect number of configuration arguments" ); + } } /** @@ -417,7 +430,6 @@ FGProps::open() netChannel::listen( 5 ); SG_LOG( SG_IO, SG_INFO, "Props server started on port " << port ); - set_hz( 5 ); // default to processing requests @ 5Hz set_enabled( true ); return true; }