2007-01-04 Dan Williams <dcbw@redhat.com>

Threading removal related cleanups:

	- Use the glib default main context.  Remove the device main context
		member from NMDevice, and the main_context member from NMData.  Change
		all the idle and timeout scheduler functions to use plain
		g_idle_add() and g_timeout_add().

	- As a side-effect of the first change, nm_dbus_manager_get() no longer
		takes an argument; fix that up too.

	- Remove all locking, which is useless since we no longer use threads.  For
		example, nm_get_device_by_iface_locked() has been removed.  The global
		device list lock, the AP List lock, and all static locks in
		NetworkManagerPolicy.c have been removed.  The locking utility functions
		in NetworkManagerUtils.c have also been removed.

	- Other cleanups in spacing and code style



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams
2007-01-04 12:06:26 +00:00
parent 2ea7f1e5ea
commit 0df1e42c39
31 changed files with 492 additions and 1029 deletions

View File

@@ -54,7 +54,6 @@ static void nm_dhcp_manager_dbus_connection_changed (NMDBusManager *dbus_mgr,
struct NMDHCPManager {
NMData * data;
GMainContext * main_ctx;
gboolean running;
size_t dhcp_sn_len;
NMDBusManager * dbus_mgr;
@@ -87,19 +86,16 @@ static gboolean state_is_down (guint8 state)
NMDHCPManager *
nm_dhcp_manager_new (NMData *data,
GMainContext *main_ctx)
nm_dhcp_manager_new (NMData *data)
{
NMDHCPManager * manager;
guint32 id;
g_return_val_if_fail (data != NULL, NULL);
g_return_val_if_fail (main_ctx != NULL, NULL);
manager = g_slice_new0 (NMDHCPManager);
manager->data = data;
manager->main_ctx = main_ctx;
manager->dbus_mgr = nm_dbus_manager_get (NULL);
manager->dbus_mgr = nm_dbus_manager_get ();
manager->running = nm_dbus_manager_name_has_owner (manager->dbus_mgr,
DHCP_SERVICE_NAME);
manager->dhcp_sn_len = strlen (DHCP_SERVICE_NAME);
@@ -206,10 +202,11 @@ out:
*
*/
static gboolean
nm_dhcp_manager_handle_timeout (NMActRequest *req)
nm_dhcp_manager_handle_timeout (gpointer user_data)
{
NMData * data;
NMDevice * dev;
NMActRequest * req = (NMActRequest *) user_data;
NMData * data;
NMDevice * dev;
g_return_val_if_fail (req != NULL, FALSE);
@@ -245,9 +242,9 @@ nm_dhcp_manager_begin_transaction (NMDHCPManager *manager,
char * path;
const guint32 opt1 = 31; /* turns off ALL actions and dhclient-script just writes options to dhcdbd */
const guint32 opt2 = 2; /* dhclient is run in ONE SHOT mode and releases existing leases when brought down */
GSource * source;
DBusConnection * dbus_connection;
gboolean success = FALSE;
guint id;
g_return_val_if_fail (manager != NULL, FALSE);
g_return_val_if_fail (req != NULL, FALSE);
@@ -304,13 +301,10 @@ nm_dhcp_manager_begin_transaction (NMDHCPManager *manager,
}
/* Set up a timeout on the transaction to kill it after NM_DHCP_TIMEOUT seconds */
source = g_timeout_source_new (NM_DHCP_TIMEOUT * 1000);
g_source_set_callback (source,
(GSourceFunc) nm_dhcp_manager_handle_timeout,
req,
NULL);
nm_act_request_set_dhcp_timeout (req, g_source_attach (source, manager->main_ctx));
g_source_unref (source);
id = g_timeout_add (NM_DHCP_TIMEOUT * 1000,
nm_dhcp_manager_handle_timeout,
req);
nm_act_request_set_dhcp_timeout (req, id);
success = TRUE;
out:
@@ -328,9 +322,8 @@ remove_timeout (NMDHCPManager *manager, NMActRequest *req)
/* Remove any pending timeouts on the request */
if ((id = nm_act_request_get_dhcp_timeout (req)) > 0) {
GSource * source = g_main_context_find_source_by_id (manager->main_ctx, id);
g_source_remove (id);
nm_act_request_set_dhcp_timeout (req, 0);
g_source_destroy (source);
}
}

View File

@@ -49,7 +49,7 @@ enum dhcdbd_state
DHCDBD_END_OPTIONS, /* last option in subscription sent */
};
NMDHCPManager * nm_dhcp_manager_new (NMData *data, GMainContext *main_ctx);
NMDHCPManager * nm_dhcp_manager_new (NMData *data);
void nm_dhcp_manager_dispose (NMDHCPManager *manager);
gboolean nm_dhcp_manager_begin_transaction (NMDHCPManager *manager, NMActRequest *req);