summaryrefslogtreecommitdiff
path: root/noncore/applets
authormickeyl <mickeyl>2002-10-12 15:37:56 (UTC)
committer mickeyl <mickeyl>2002-10-12 15:37:56 (UTC)
commit83aed438ec060307bf5562d91bd8b61fe60f860b (patch) (side-by-side diff)
treeb5156e2be374491e0dbf587b48272c1ae121660d /noncore/applets
parentfe2f3c3b72dfcffe0b6ab02cea37f6dcb300b218 (diff)
downloadopie-83aed438ec060307bf5562d91bd8b61fe60f860b.zip
opie-83aed438ec060307bf5562d91bd8b61fe60f860b.tar.gz
opie-83aed438ec060307bf5562d91bd8b61fe60f860b.tar.bz2
- dhcp renew now really functions
- added dhcp renew support for udhcp
Diffstat (limited to 'noncore/applets') (more/less context) (show whitespace changes)
-rw-r--r--noncore/applets/wirelessapplet/wireless.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/noncore/applets/wirelessapplet/wireless.cpp b/noncore/applets/wirelessapplet/wireless.cpp
index 649cf20..fb9522a 100644
--- a/noncore/applets/wirelessapplet/wireless.cpp
+++ b/noncore/applets/wirelessapplet/wireless.cpp
@@ -54,3 +54,3 @@
-//#define MDEBUG 0
+//#define MDEBUG
#undef MDEBUG
@@ -248,5 +248,8 @@ void WirelessApplet::renewDHCP()
QString ifacename( interface->getName() );
+
+ // At first we are trying dhcpcd
+
pidfile.sprintf( "/var/run/dhcpcd-%s.pid", (const char* ) ifacename );
#ifdef MDEBUG
- qDebug( "WIFIAPPLET: pidfile is '%s'", (const char*) pidfile );
+ qDebug( "WIFIAPPLET: dhcpcd pidfile is '%s'", (const char*) pidfile );
#endif
@@ -257,8 +260,31 @@ void WirelessApplet::renewDHCP()
if ( hasFile )
+ {
s >> pid;
#ifdef MDEBUG
- qDebug( "WIFIAPPLET: sent -14 to pid %d", pid );
+ qDebug( "WIFIAPPLET: sent SIGALARM to pid %d", pid );
#endif
- kill( pid, -14 );
+ kill( pid, SIGALRM );
+ return;
+ }
+ // No dhcpcd, so we are trying udhcpc
+#ifdef MDEBUG
+ qDebug( "WIFIAPPLET: dhcpcd not available." );
+#endif
+ pidfile.sprintf( "/var/run/udhcpc.%s.pid", (const char*) ifacename );
+#ifdef MDEBUG
+ qDebug( "WIFIAPPLET: udhcpc pidfile is '%s'", (const char*) pidfile );
+#endif
+ QFile pfile2( pidfile );
+ hasFile = pfile2.open( IO_ReadOnly );
+ QTextStream s2( &pfile2 );
+ if ( hasFile )
+ {
+ s2 >> pid;
+#ifdef MDEBUG
+ qDebug( "WIFIAPPLET: sent SIGUSR1 to pid %d", pid );
+#endif
+ kill( pid, SIGUSR1 );
+ return;
+ }
}