uncommented ping method

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Karsten Ballüder
1999-10-24 18:32:30 +00:00
parent 11e1c70d8e
commit 99d967ac6f

View File

@@ -104,7 +104,7 @@ public:
virtual bool IsOnline() const virtual bool IsOnline() const
{ {
if( (! m_timer) // we are not polling, so test now: if( (! m_timer) // we are not polling, so test now:
|| m_IsOnline == -1 || m_IsOnline < 0
) )
CheckStatus(); CheckStatus();
return m_IsOnline != 0; return m_IsOnline != 0;
@@ -429,30 +429,6 @@ wxDialUpManagerImpl::CheckStatusInternal(void)
so we could let ifconfig write directly to the tmpfile, but so we could let ifconfig write directly to the tmpfile, but
this does not work. That should be faster, as it doesn<73>t call this does not work. That should be faster, as it doesn<73>t call
the shell first. I have no idea why. :-( (KB) */ the shell first. I have no idea why. :-( (KB) */
#if 0
// temporarily redirect stdout/stderr:
int
new_stdout = dup(STDOUT_FILENO),
new_stderr = dup(STDERR_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
int
// new stdout:
output_fd = open(tmpfile, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR),
// new stderr:
null_fd = open("/dev/null", O_CREAT, S_IRUSR|S_IWUSR);
// verify well behaved unix behaviour:
wxASSERT(output_fd == STDOUT_FILENO);
wxASSERT(null_fd == STDERR_FILENO);
int rc = wxExecute(m_IfconfigPath,TRUE /* sync */,NULL ,wxEXECUTE_DONT_CLOSE_FDS);
close(null_fd); close(output_fd);
// restore old stdout, stderr:
int test;
test = dup(new_stdout); close(new_stdout); wxASSERT(test == STDOUT_FILENO);
test = dup(new_stderr); close(new_stderr); wxASSERT(test == STDERR_FILENO);
if(rc == 0)
#endif
if(wxExecute(cmd,TRUE /* sync */) == 0) if(wxExecute(cmd,TRUE /* sync */) == 0)
{ {
m_CanUseIfconfig = 1; m_CanUseIfconfig = 1;
@@ -483,7 +459,8 @@ wxDialUpManagerImpl::CheckStatusInternal(void)
return; return;
} }
// second method: try to connect to well known host: // this was supposed to work like ping(8), but doesn<73>t.
// second method: try to connect to a well known host:
// This can be used under Win 9x, too! // This can be used under Win 9x, too!
struct hostent *hp; struct hostent *hp;
struct sockaddr_in serv_addr; struct sockaddr_in serv_addr;
@@ -505,6 +482,8 @@ wxDialUpManagerImpl::CheckStatusInternal(void)
return; return;
} }
#if 0
// this "ping" method does not work.
if(sendto(sockfd, "hello", if(sendto(sockfd, "hello",
strlen("hello"), /* flags */ 0, strlen("hello"), /* flags */ 0,
(struct sockaddr *) &serv_addr, (struct sockaddr *) &serv_addr,
@@ -513,15 +492,15 @@ wxDialUpManagerImpl::CheckStatusInternal(void)
close(sockfd); close(sockfd);
return; return;
} }
#endif
#if 0
if( connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) if( connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
{ {
//sys_error("cannot connect to server"); //sys_error("cannot connect to server");
close(sockfd);
return; return;
} }
//connected! //connected!
#endif
close(sockfd); close(sockfd);
m_IsOnline = TRUE; m_IsOnline = TRUE;
} }