Hi, did you:
1. Unlock all users / owners you locked?
2. Call icqdaemon->Shutdown(); (where icqdaemon is the parameter of
LP_Main from type CICQDaemon)?
Regards,
Joachim
Anders Olofsson schrieb:
I've made my own plugin that, when a message is received, displays the
sender's name on an external display.
The plugin works great except for one problem. When I shutdown licq,
licq never terminates. I get debug printouts from all plugins (qt-gui,
msn and my own) that they are shutting down and then nothing more
happens.
If I open the plugin configuration window and try to unload my plugin,
I get "LedFront plugin is shutting down." but then the window
refreshes and the load-checkbox is again checked. If I try again I do
not get any further debug printouts but the checkbox remains checked.
If I remove my plugin (by editing licq.conf) licq terminates with no
problems.
Removing the msn plugin does not solve the problem.
I am running svn version of licq but I've had the same problem with
1.3.2 and 1.3.4.
My plugin (attached file) is based mostly on the osd plugin.
The file ledmsg.h (not attached) contains only constants (with
#define) and the ledmsg_t struct.
Below is what information I could think of that may be informative.
Does anyone have an idea what I should do to fix this?
/Anders
Output from "licq -d15" when shutting down licq:
21:16:07: [END] Shutting down daemon.
21:16:07: [END] Exiting main window (qt gui).
21:16:07: LedFront plugin is shutting down.
21:16:07: [END] Shutting down gui.
21:16:08: [END] Plugin KDE GUI exited with code 0.
21:16:08: [MSN] Exiting.
21:16:08: [END] Plugin MSN exited with code 0.
21:16:08: LedFront plugin disabled.
# Nothing more happens
Same thing but I remove the call to UnregisterPlugin() from my plugin
when shutting down:
21:17:08: [END] Shutting down daemon.
21:17:08: [END] Exiting main window (qt gui).
21:17:08: [END] Shutting down gui.
21:17:08: LedFront plugin is shutting down.
21:17:08: [MSN] Exiting.
# Nothing more happens
Without my plugin loaded:
21:19:47: [END] Shutting down daemon.
21:19:47: [END] Exiting main window (qt gui).
21:19:47: [END] Shutting down gui.
21:19:47: [END] Plugin KDE GUI exited with code 0.
21:19:47: [MSN] Exiting.
21:19:47: [END] Plugin MSN exited with code 0.
# Program terminated
The following is a printout from gdb after I've exited licq and waited
for a few seconds:
(Note: This is with the MSN plugin unloaded. If loaded I get a fourth
thread in protocol_msn.so also in mutex_lock_wait)
(gdb) info threads
7 Thread -1280050256 (LWP 12540) 0xb7e1a189 in
__lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
3 Thread -1262048336 (LWP 12529) 0xb7e1a189 in
__lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
* 1 Thread -1212716832 (LWP 12520) 0xb7e1a189 in
__lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) thread 1
[Switching to thread 1 (Thread -1212716832 (LWP 12520))]#0 0xb7e1a189
in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0xb7e1a189 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#1 0xb7e17cb1 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x08075d28 in CLicq::Main ()
#3 0x08077e7f in main ()
(gdb) thread 3
[Switching to thread 3 (Thread -1262048336 (LWP 12529))]#0 0xb7e1a189
in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0xb7e1a189 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#1 0xb7e180a6 in pthread_cond_signal@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb79de79c in LP_Exit () from /usr/local/lib/licq/licq_kde-gui.so
#3 0xb79df5c5 in LP_Main_tep () from /usr/local/lib/licq/licq_kde-gui.so
#4 0xb7e150bd in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7c5792e in clone () from /lib/tls/libc.so.6
(gdb) thread 7
[Switching to thread 7 (Thread -1280050256 (LWP 12540))]#0 0xb7e1a189
in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) bt
#0 0xb7e1a189 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#1 0xb7e180a6 in pthread_cond_signal@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0x080c6d78 in Shutdown_tep ()
#3 0xb7e150bd in start_thread () from /lib/tls/libpthread.so.0
#4 0xb7c5792e in clone () from /lib/tls/libc.so.6