interprocess

Unlock a thread from another process, in c++.

I'm programming an interprocess communication module (Process A and Process B). Is there any way the communication thread in B can run (be unlock) as soon as process A finishes a specific action, I mean without B doing any polling nor B waiting too much after A finishes its action? Which are the concepts/models/design patterns governin...

Limiting .NET Class to single object instance on computer boundary => "inter-process singleton"

I want to have one object of some .NET class used by multiple processes on same computer. Having Application domains, it is not easily possible to move across that boundary, but memory-mapped files in .NET 4.0 should ease that task in some way. Until .NET 4.0 comes in final release... Is it possible to make some kind of "inter-process ...

How to solve "The ChannelDispatcher is unable to open its IChannelListener" error?

Hi, I'm trying to communicate between WCF hosted in Windows Service and my service GUI. The problem is when I'm trying to execute OperationContract method I'm getting "The ChannelDispatcher at 'net.tcp://localhost:7771/MyService' with contract(s) '"IContract"' is unable to open its IChannelListener." My app.conf looks like t...

Is it possible to communicate through a COM object?

Is it possible for 2 exes to communicate through a COM (ActiveX?) interface? Can a COM DLL coordinate data-sharing between 2 seperate processes? ...

How do I create synchronization mechanisms in managed shared memory segments?

I'm trying to have 2 processes communicate via an stl container - so I've decided to use the managed shared memory. I'm trying to implement some synchronisation between them - an interprocess_mutex for a start with a scoped_lock - but I'm not having much luck. How is it supposed to be done? ...

Invoke a method on a .NET object in another arbitrary application

I'm asking mostly out of idle curiosity. When using TestComplete, I've noticed I can point my script at an arbitrary running .NET application, grab a control, reflect on it, and even call methods on it. I have no idea how they pull this off. This isn't simple UIAutomation, as far as I can tell, since I can grab private fields. Also, ...

Calling a RPC function in a running Windows service (process) using Python

I have Windows service (acts as a server) that I want to test using Python scripts. This service is written in C++ and exposes several RPC functions that other services consume. I want to mock those other services using my Python program and call those RPC functions from the script. This is the first stage. The second stage happens when ...

Name of a class that wraps an external process?

What would you call a class that wraps some external process Worker (starts and stops it, reads stdin, stdout, etc.)? WorkerFacade? WorkerGateway? WorkerWrapper? ...

Receive WM_COPYDATA struct in WPF or Console C# app

I am writing a C# application that needs to communicate with another application written in native C. So far I have figured out how to send messages from my C# app to the C app with the User32.dll SendMessage. However I am unable to figure out how to get the C# app to RECEIVE messages from the C app. I have seen WinForms examples of ove...

Marshalling structs from WM_COPYDATA messages

I am trying to get a C# WPF application to communicate with another application written in C using WM_COPYDATA. The C app is trying to send a struct as follows: typedef struct { int x; int y; char str[40]; double d; char c; } DATASTRUCT; In my C# app I have defined a struct as follows: [StructLayout(LayoutKind.Seq...

Linux inter-process reentrant semaphore

I'm porting a Windows application to Linux and I have a synchronization problem. In Windows I'm using a system-level named mutex to sync access to a shared memory block. How do I emulate that in Linux? I've created a SystemV semaphore, using semget. The problem is that it is not reentrant, if I already hold it it will block, unlike on ...

How to start to implement a drag and drop between different processes?

The application that I am developing is a windows form application written in C#. It has a treeview on it. Each of the treeNode stores some data. What I want to do is to open two copies of the application, drag some of the treenodes from one application and drop to another. The data the treenodes store should be transferred to another a...

What is the easiest way to do inter process communication in C#?

I have two C# applications and I want one of them send two integers to the other one (this doesn't have to be fast since it's invoked only once every few seconds). What's the easiest way to do this? (It doesn't have to be the most elegant one.) ...

high speed interprocess associative array

Is there library usable from c++ for sharing fairly simple data (integers,floating point numbers, strings) between cooperative processes? Must be : high-speed (SQL-based methods too slow due to parsing) able to get,set,update,delete both fixed and variable data types (e.g. int and string) ACID (atomic,consistent,isolated,durable) us...

Interprocess Communication / Broadcast

I have a Windows Service (implemented in C#) and I have something like a service control manager. I would like to trace messages from the service to the service control manager (which is a window forms application), but I'm not sure what's the best way for doing this. The service should broadcast the messages to all clients who are listn...

How can I answer the prompts from an external program with Perl?

I have a .exe file. When I run it it asks for the path of a CSV and a .C file. My problem is that I need to execute that .exe through Perl and provide the path of the .C file as well as CSV file path automatically. How can I do that? it is a gui .exe through open command i can browse and give the path of the c file and CSV.I hope it it ...

Boost shared_memory_object problem with types different from char...

I have a problem with boost shared_memory_object and mapped_region. I want to write a set of objects (structures) in the memory object. If the structure contains just a char, everything is ok; if I just add an int to the structure, then if I put too many objects (let's say 70, so much less than the limit of the block) I get a segmentatio...

Using C++ Boost memory mapped files to create disk-back data structures.

I have been looking into using Boost.Interprocess to create a disk-backed data structure. The examples on Boost Documentation (http://www.boost.org/doc/libs/1_41_0/doc/html/interprocess.html) are all for using shared memory even though they mention that memory mapped files can also be used. I am wondering whether anyone here has used mem...

What interprocess locking calls should I monitor?

I'm monitoring a process with strace/ltrace in the hope to find and intercept a call that checks, and potentially activates some kind of globally shared lock. While I've dealt with and read about several forms of interprocess locking on Linux before, I'm drawing a blank on what to calls to look for. Currently my only suspect is futex()...

How to use COPYDATASTRUCT with a asynchronous callback

Hi, I'm using COPYDATASTRUCT with SendMessage() to pass data between 2 processes, but i need to it in asynchronous manner. I tried using SendMessageCallback(), but it seems that it does not work with COPYDATASTRUCT. What would be the best way to achieve this requirement ? Thank You ...