+ /* if permanent is true then we will change our session state so that
+ the SM won't run us again */
+ if (permanent) {
+ SmPropValue val_hint;
+ SmProp prop_hint = { SmRestartStyleHint, SmCARD8, 1, };
+ SmProp *props[1];
+ gulong hint;
+
+ /* when we exit, we want to reset this to a more friendly state */
+ hint = SmRestartIfRunning;
+ val_hint.value = &hint;
+ val_hint.length = 1;
+
+ prop_hint.vals = &val_hint;
+
+ props[0] = &prop_hint;
+
+ SmcSetProperties(sm_conn, 1, props);
+ }
+