Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: detecting logout
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: detecting logout



Look for documentation for
    SCDynamicStoreKeyCreateConsoleUser
and
    SCDynamicStoreSetNotificationKeys

You should get a notification whenever any user logs out of the "console"
(anyone logged in with fast user switching too).  Your code will have to
figure out who logged out.



> From: Pete Gontier <email@hidden>
> Date: Tue, 01 Feb 2005 11:57:17 -0800
> To: <email@hidden>
> Subject: detecting logout
> Resent-From: Mark Jaffe <email@hidden>
> Resent-Date: Tue, 1 Feb 2005 12:35:03 -0800
>
> This may be a Mac OS X question as opposed to a Darwin question.
> Nevertheless, this is the only relevant place I know of to ask this
> question.
>
> I am developing a per-user bootstrap daemon. This program used to be a
> startup item, but for obscure reasons not relevant to the problem at
> hand,
> it became necessary to morph it into a per-user bootstrap daemon (and
> not,
> it should be noted, a global bootstrap daemon). The key difference
> between
> the two forms of program for purposes of this discussion is that a
> startup
> item launches once at startup and a per-user bootstrap daemon launches
> whenever a user logs in. This means that there may be many instances of
> a
> single per-user bootstrap daemon, which is fine. The trick is knowing
> when
> each instance should quit. When the user logs out, per-user bootstrap
> daemons are not automagically killed, which I suppose may be a feature
> to
> someone somewhere. For me, it presents a problem, because there is no
> reason
> for an instance of my program to hang around after the user logs out.
> The
> trick is knowing when that is.
>
> Apple's QA1133 seems to be the available wisdom on knowing when users
> login
> and logout.
>
>      http://developer.apple.com/qa/qa2001/qa1133.html
>
> Unfortunately, this QA seems to be out of date. It seems to describe the
> pre-Panther, pre-Fast User Switching universe. QA1133 tells us we are to
> believe the user is logging out when the user name is NULL, but, under
> Panther, if user 1 logs in, user 2 logs in, and then user 2 logs out,
> at no
> time will the console user be NULL. Even when the user is
> re-authenticating
> to switch back to user 1, the console user is "loginwindow" as opposed
> to
> NULL. (The user may be NULL after the *last* user logs out, but I
> haven't
> tested this.)
>
> I could enable the copious debug logging done by the distributed
> notification server and maybe pick out some choice undocumented strings
> as
> they fly around in the system and hope to interpret their meaning
> correctly,
> but that seems unlikely to be future-proof.
>
> If I must resort to higher-level APIs, I'd prefer Carbon-oriented
> solutions
> rather than Cocoa-oriented solutions because the app in question is
> written
> in C++, but I'll settle in a pinch for anything that works cleanly
> without
> pulling me up into being a client of the window server.
>
> Any ideas?
>
>    --
>
>      Pete Gontier
>      http://www.m-audio.com/
>
>
>   _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >detecting logout (From: Pete Gontier <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.