diff --git a/ChangeLog b/ChangeLog index 6fc46a0693..30ea4f00c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-09-25 Dan Williams + + * src/nm-device.c + - (device_activation_go): small hack to work around race when + activating deferred connections; should solve this in a better way + 2007-09-25 Dan Williams * introspection/nm-device.xml diff --git a/src/nm-device.c b/src/nm-device.c index c7348dabec..f2160c9b47 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -1167,6 +1167,13 @@ device_activation_go (NMDevice *self) self); priv->secrets_updated_id = id; + /* HACK: update the state a bit early to avoid a race between the + * scheduled stage1 handler and nm_policy_device_change_check() thinking + * that the activation request isn't deferred because the deferred bit + * gets cleared a bit too early, when the connection becomes valid. + */ + nm_device_state_changed (self, NM_DEVICE_STATE_PREPARE); + nm_device_activate_schedule_stage1_device_prepare (self); }