https://bugs.kde.org/show_bug.cgi?id=399473

--- Comment #5 from RJVB <rjvber...@gmail.com> ---
Erm, indeed, I saw that be then remained stuck on using SIGHUP, probably
because of the added "like almost every other application on your desktop").

Not that it matters, fgrep 'signal(' shows

kdevelop-git/kdevplatform/shell/core.cpp:    std::signal(SIGHUP,
shutdownGracefully);
kdevelop-git/kdevplatform/shell/core.cpp:    std::signal(SIGINT,
shutdownGracefully);
kdevelop-git/kdevplatform/shell/core.cpp:    std::signal(SIGTERM,
shutdownGracefully);

SIG{HUP,INT,TERM} are all handled equally by the same handler (and thus NOT
like almost every other application). Testing with the one or the other doesn't
make a difference.

But as I wrote in those "like 2 pages", this is not appropriate for the
situations I have in mind.

The shutdownGracefully() function should probably not be called from a signal
handler either; there's a good chance that it will do things that are illegal
in that context. Instead you should, according to the same ML source:

Open a pipe or an eventfd, then install your signal handler. In that signal 
handler, write anything to the writing end or write uint64_t(1) the eventfd. 
Create a QSocketNotifier on the reading end of the pipe or on the eventfd, 
connect its activation signal to a slot that does what you want.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to