[#9722] Kernel#system broken inside Dir.chdir(&block) if system command doesn't have shell characters — <noreply@...>

Bugs item #7278, was opened at 2006-12-14 13:59

8 messages 2006/12/14

[#9749] System V IPC in standard library? — Steven Jenkins <steven.jenkins@...>

Back in August, I needed a semaphore to serialize access to an external

14 messages 2006/12/19

[#9753] CVS freeze — SASADA Koichi <ko1@...>

Hi,

20 messages 2006/12/20
[#9755] Re: [ruby-dev:30039] CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

[#9757] Re: [ruby-dev:30040] Re: CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

System V IPC in standard library?

From: Steven Jenkins <steven.jenkins@...>
Date: 2006-12-19 22:00:09 UTC
List: ruby-core #9749
Back in August, I needed a semaphore to serialize access to an external
resource. I found the System V IPC library by Daiki Ueno, and it worked
well enough on Linux, but wouldn't compile under Solaris. I fixed that
problem and contacted Daiki, who hadn't updated the package in several
years. After a little discussion, I created a project (sysvipc) on
RubyForge and made the updates.

I then discovered that were a few other problems, notably memory leaks
and thread safety. With Daiki's help, I fixed all the known bugs, worked
out some build issues, wrote Rdoc documentation, and made unit tests for
semaphores, shared memory, and message queues. Piet Hadermann
contributed a patch to allow writing shared memory at an offset.

I believe the library is in good shape now, and have verified that it
will build like any other extension packaged with the Ruby source, at
least in 1.8.x.

The question is, is there interest in adding it to the standard library?
System V IPC is not available on all platforms, but neither are Win32
OLE and Unix sockets. It's C source, so obviously it's more convenient
for the user to have it built with the interpreter.

I'm not really advocating one way or the other, but I wanted to let the
core team know that it's an option at this point. Feel free to ask any
questions.

Steve

In This Thread

Prev Next