我通过以下代码注册了一个在后台工作的函数:
XtAppAddWorkProc(app, (XtWorkProc)NotifyEntryCallback, (XtPointer)ent);
如果我只是在任务中调用此函数(例如,单击按钮),那就没问题了。
但是当我在该任务中将其称为两次或更多时,NotifyEntryCallback
将被多次调用(无穷大)。
我尝试存储XtAppAddWorkProc
使用XtRemoveWorkProc
函数来删除已注册的函数但它仍然不起作用。
我在Google上花了很多次但不知道为什么会这样。请帮我解决。
答案 0 :(得分:0)
最后,我找到了解决方案。我分享给任何人都面临同样的问题:
XtWorkProc
中的返回值是否再次告诉系统调用注册函数。在这种情况下,如果我不希望再次调用NotifyEntryCallback
,则return True
应{{1}}。
参考链接: http://home.soka.ac.jp/~unemi/Motif/man3/XtWorkProc.html