开发者

xmlrpc server in dll, sending signal to myself?

I'm writing some dll (on windows in MSVC++2008) which provides some functionality as xmlrpc开发者_开发知识库 server. To implement xmlrpc server I'm using xmlrpc-c library.

I can start xmlrpc server in some diffrent ways. More intresting are:

  • run method - This will run xmlrpc server forever so dll can't control until server is not terminated.
  • runOnce method - This will run xmlrpc server only to process one RPC. And if there is no request it will wait for that.

I can't keep control in dll for long time. I need to process some RPCs and give back control to program which is using dll. And process next RPCs when dll will get back control again.

runOnce looks ok. But there is possibility that there will be no RPCs to process and it will be waiting for one. That is unacceptable.

There is also one exception:

runOnce aborts waiting for a connection request and returns immediately if the process receives a signal. Note that unless you have a handler for that signal, the signal will probably kill the whole process, so set up a signal handler — even one that does nothing — if you want to exploit this. But before Xmlrpc-c 1.06 (June 2006), signals have no effect — there is no way to make runOnce abort the wait and return.

Can I use it as workaround go get back control to dll? Is it possible to send signal from dll to themself? How it works on windows?

Or maybe there is some better solution of this issue?


Signals (of the kind that makes an Xmlrpc-c library call abort early) don't exist in Windows.

Best solution is to create new thread for server.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜