Standard IPC for Python?

Philip Semanchuk philip at semanchuk.com
Tue Jan 13 13:55:17 EST 2009


On Jan 13, 2009, at 1:22 PM, Laszlo Nagy wrote:

>
>>>
>>> - posix_ipc is broken under FreeBSD
>>
>> A clarification: the module posix_ipc is *not* broken. It exposes  
>> FreeBSD's implementation of POSIX IPC which has broken semaphores  
>> (based on my experiments, anyway). The practical result for you is  
>> the same but the difference is very important to me as the module  
>> author. Fixing the posix_ipc module is under my control, fixing  
>> FreeBSD's POSIX IPC is not.
> Mea culpa. :-) I did not want to offend you.

Thank you, Laszlo, I appreciate that.

>
>>> - sysv_ipc does not support message queues at all
>>
>> That's true, but in your original email you said you were looking  
>> for "semaphores and shared memory". There was no mention of message  
>> queues.
> You are right again. :-) I would like to use IPC beacuse I want to  
> send messages between processes.

If you can wait a bit and Windows is not crucial, sysv_ipc should have  
message queue support before too long.


>>> - shm is not maintained
>>
>> SHM *is* maintained. As I said in my first email and as it says on  
>> the Web page, I'm not developing it any further. No further  
>> development != unmaintained.
> My bad again. :-( This is not my day.
>>> It is so interesting that there is no standard implementation for  
>>> IPC in Python. I would think it is a very common task for  
>>> programmers. I might find myself writting a new IPC module that  
>>> works under Windows as well.
>>
>> Feel free to reinvent the wheel. Or, you could pitch in and help  
>> with what's already out there.

I realize that lack of Windows support is a big minus for both of  
these modules. As I said, any help getting either posix_ipc or  
sysv_ipc working under Windows would be much appreciated. It sounds  
like you have access to the platform and incentive to see it working,  
so dig in if you like.

Once I get message queues working for SysV, I want to support unnamed  
semaphores in the POSIX module and then I'll consider these modules  
mainly feature-complete. After that I can think about adding more  
features like:
- Windows support
- Python 2.6/3.0 support
- buffer-style access to shared memory (slicing, etc.)
- Merging these two into a generic ipc module that's agnostic about  
POSIX versus Sys V. That might not be realistic.

If I have time in the future, I'll tackle these items myself. But  
these projects are just educational for me and paying work will take  
priority.


bye
Philip







More information about the Python-list mailing list