Standard IPC for Python?
philip at semanchuk.com
Tue Jan 13 19:55:17 CET 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
> 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
- 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
More information about the Python-list