Sorry to be so persistent, but I don't understand why you need those things.
 Can you provide some specific examples?
As far as I know, we need the ability to have shared memory.  It seems like
we can do that with mmap.  We need a way to have shared waitable events
(like windows event objects), and that can be done using a connected
anonymous pipe.  In both of those cases, we have something that is a file
descriptor that can be shared by simply writing the FD over the pipe.  What
am I missing?

-Darin


On Wed, Nov 5, 2008 at 4:30 PM, Jeremy Moskovich <[EMAIL PROTECTED]>wrote:

> The main issue on OS X is that we can send Mach primitives back and forth
> over a Mach port (shared mem. regions, semaphores, etc...) which is
> something we'll nearly certainly need in the code.  If we were to use a pipe
> for IPC::Channel, we'd still need a Mach port for other stuff.
>
> We need cross-process semaphores to be able to lock shared memory regions
> cross process (there may be other uses).  Per the previous discussion
> regarding named semaphores/shared memory regions, the only feasible way of
> doing this on Linux is either with a set of System V semaphores or with a
> flocks.  Mach semaphores are a much lighter weight option on OS X.
>
> The requirements are:
> * Bidirectional pipe through which we can send arbitrary sized messages in
> an efficient manner.
> * Secure connection (as Carlos mentioned in his reply) - only a given child
> process can connect back to the server.
>
>
> On Wed, Nov 5, 2008 at 3:30 PM, Darin Fisher <[EMAIL PROTECTED]> wrote:
>
>> What do we need Mach semaphores for?  You mention issues with named pipes,
>> but what about anonymous pipes?  I'm curious why we need a different
>> implementation on OSX and Linux.  It seems worth while if we can have a
>> shared implementation that meets all of our requirements.
>>
>> What are the requirements?
>>
>> -Darin
>>
>>
>> On Wed, Nov 5, 2008 at 2:05 PM, Jeremy Moskovich <[EMAIL PROTECTED]>wrote:
>>
>>> Replying to a previous comment by jam:
>>>
>>>> I'm not familiar with OS X so I can't comment on which specific
>>>> implementation to use.  However I'm wondering if it's possible to code
>>>> proof of concepts of each method and time the latency?  This will
>>>> matter even more if plugins are planned to be run out of process, in
>>>> which case there will be a lot of synchronous messages.
>>>>
>>>
>>> Mach ports have the distinct advantage that they allow us to send Mach
>>> semaphores between processes and there's a good chance that FIFOs are
>>> implemented on top of them.  So I think the decision is pretty clear for us.
>>>
>>> I definitely agree with you about the performance tests - if we don't
>>> have those already, it would definitely be good to add a bunch of them for
>>> the IPC Channel.
>>>
>>> Best regards,
>>> Jeremy
>>>
>>>
>>> On Wed, Nov 5, 2008 at 1:37 PM, Jeremy Moskovich <[EMAIL PROTECTED]>wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> You can find the design document for OS X IPC at:
>>>>
>>>> http://sites.google.com/a/chromium.org/dev/developers/design-documents/os-x-interprocess-communication
>>>>
>>>> This document is a work in progress, feedback and comments are
>>>> welcome.
>>>>
>>>> Best regards,
>>>> Jeremy
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Chromium-dev" group.
To post to this group, send email to chromium-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/chromium-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to