On Jan 13, 2009, at 12:40 PM, Laszlo Nagy wrote:


The only reason to use shm over the sysv_ipc module is that shm supports versions of Python < 2.5. I'm not developing shm any further, so avoid using it if possible.
Hmm, we are using FreeBSD, Ubuntu and Windows. Unfortunately

- 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.

- 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.

I'm working on message queue support, but the Sys V IPC API is a headache and takes longer to code against than the POSIX API.


- 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.

Also, it offers only a subset of the features in sysv_ipc, so its status is not of great concern unless you're using Python < 2.5.


- windows is not supported by any of these modules

Windows uses a different API, but I think there are some packages that can make Windows look like some flavor of Unix. For instance, Cygwin seems to expose some relevant APIs like sem_open(), sem_post(), etc:
http://cygwin.com/cygwin-api/compatibility.html#std-susv3

It might be that posix_ipc would work with this package with just a little tweaking. I have no idea. As I said on the posix_ipc page, if anyone wants to tackle this one and send me bug reports, please do!


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.


bye
Philip




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to