On 07.12.2015 20:56, Michael Van Canneyt wrote:
Interesting point! From this point-of-view I don't have to create the connection layer between SimpleIPC and AdvancedIPC as me&you suggested here: http://lists.freepascal.org/pipermail/fpc-devel/2015-September/035958.html
It makes sense.

Well, my initial enthousiasm cooled somewhat when I understood that you are using a file-based approach.

if the current simpleipc implementation can be fixed, then I think that is to be preferred above re-implementing it on top of advancedipc, because I am not very comfortable with the files approach.

+1.


The only thing that remains to be fixed in simpleipc is the multiple clients to server on unix. It needs a semaphore to be able to function correctly.

There is also the issue that you can start multiple servers with the same ID on Windows, IIRC.


The file-based approach is still a valid approach, since it offers other things: - the possibility of sending a message to a non-running server and - receiving a response.
But for simple one-way traffic, I think simpleipc is to be preferred...

Yes, if the limitations of SimpleIPC aren't a problem.

Btw. I started AdvancedIPC because of the IDEInstances feature in Lazarus 1.6. I decided to use the file-based approach because I thought this is the simplest and most stable approach - I basically took a look at SimpleIPC and made a choice from its approaches. Nevertheless SimpleIPC uses files on Linux as well. Unfortunately with file-based approach the IPC Server has to check new files (messages) regularly and thus could restrict power management, as Mattias pointed out. Some kind of socket communication would be probably better in this respect and probably also easier to fine-tune :(

Ondrej
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to