I've searched the web and found a lot of somewhat related questions but it's been hard to come up with a complete answer to my question.
My situation is that I've got a web server that loads a dll that I can put some code into. This dll code receives a message when one arrives and what I would like to do is to be able to put it in a queue and then access it from an external .exe for processing.
So to view this visually here is what I've got:
webserver.exe -> service.dll <- translatingApp.exe
So the obvious answer might be to create a singleton in the dll that has a handofflist of messages that I can pick up from the translatingApp. My concern is am I going to end up with each application with their own global instance of this handofflist.
What I'd like to avoid is using the Windows only memory sharing functionalities because eventually I want to support linux.
I am looking for any thoughts/explanations of singletons and or static objects in .dlls as well as any good ideas for solving this issue whereby I don't have control over 1/2 of my dll sandwich.