Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2010-09-14 15:33:53 (GMT)
committer Simon Schampijer <simon@schampijer.de>2010-09-14 15:33:53 (GMT)
commit84daf366a13fd6e5b45d17f7efe49773269c74e6 (patch)
tree77f4a9e0fb92bd9ca663052088ec6838ef6e471b
parent5c7b1a8064542eaa528f9fcde8de435b4e82b4f6 (diff)
Reset resolver cache when connection has been established #1940
-rw-r--r--src/jarabe/model/network.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py
index 66d86d8..79e4360 100644
--- a/src/jarabe/model/network.py
+++ b/src/jarabe/model/network.py
@@ -28,6 +28,7 @@ import dbus.service
import gobject
import ConfigParser
import gconf
+import ctypes
from sugar import dispatch
from sugar import env
@@ -546,6 +547,16 @@ class NMSettingsConnection(dbus.service.Object):
if self._settings.connection.type == NM_CONNECTION_TYPE_802_11_WIRELESS:
self.save()
+ try:
+ # try to flush resolver cache - SL#1940
+ # ctypes' syntactic sugar does not work
+ # so we must get the func ptr explicitly
+ libc = ctypes.CDLL('libc.so.6')
+ res_init = getattr(libc, '__res_init')
+ res_init(None)
+ except:
+ logging.exception('Error calling libc.__res_init')
+
def set_secrets(self, secrets):
self._secrets = secrets
if self._settings.connection.type == NM_CONNECTION_TYPE_802_11_WIRELESS: