Re: Disconnecting users from mailbox (due to a password change, for instance)

"Simon Matter" <[email protected]>
Newsgroups gmane.mail.imap.cyrus
Message-ID <[email protected]>
> Good morning,
>
> We have a feature that allows a user to kill all it's sessions. Imagine
> a cellphone gets stolen. The user could disconnect it's sessions from
> our interface.
>
> It normally works fine. We just launch a kill TERM to the user's
> imap/pop processes mainly. But I have seen a couple of times, that after
> doing that, no user can later connect to it's mailbox. It's like, if
> something  important would become locked... some important database or
> similar, by that killed processes that obviously as have become killed,
> won't unlock that hypothetical important database. Have you ever seen a
> behavior like the commented?.
>
> Perhaps, does Cyrus have another "more elegant" way of logging out a
> user?.

From how I understand it you could send SIGHUP to the child process and it
should terminate gracefully. BUT, I think it also keeps valid connections
alive and therefore can take a lot of time to terminate. Did you try how
SIGHUP behaves?

Now looking at the code it seems like child_janitor() is called to
terminate children and it does so with SIGHUP. Did I look in the wrong
place because I don't remember stopping master has taken a lot of time?

Otherwise, this really asks for another signal to be defined to do a
forced logout, maybe SIGUSR1 could be used for this task?

Regards,
Simon


------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/Tdfb46db342104c8f-M5814e7a7cf68364d31dd498e
Delivery options: https://cyrus.topicbox.com/groups/info/subscription
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.