XtAppAddWorkProc注册的函数被多次调用

时间:2014-12-16 08:25:01

标签: c background-process exceed

我通过以下代码注册了一个在后台工作的函数:

XtAppAddWorkProc(app, (XtWorkProc)NotifyEntryCallback, (XtPointer)ent);

如果我只是在任务中调用此函数(例如,单击按钮),那就没问题了。 但是当我在该任务中将其称为两次或更多时,NotifyEntryCallback将被多次调用(无穷大)。

我尝试存储XtAppAddWorkProc使用XtRemoveWorkProc函数来删除已注册的函数但它仍然不起作用。

我在Google上花了很多次但不知道为什么会这样。请帮我解决。

1 个答案:

答案 0 :(得分:0)

最后,我找到了解决方案。我分享给任何人都面临同样的问题:

XtWorkProc中的返回值是否再次告诉系统调用注册函数。在这种情况下,如果我不希望再次调用NotifyEntryCallback,则return True应{{1}}。

参考链接: http://home.soka.ac.jp/~unemi/Motif/man3/XtWorkProc.html