All of lore.kernel.org
 help / color / mirror / Atom feed
From: Clemens Ladisch <clemens@ladisch.de>
To: Network Nut <sillystack@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: WaitForMultipleObjects/etc. In Kernel
Date: Tue, 28 Jan 2014 10:04:02 +0100	[thread overview]
Message-ID: <52E77282.4030303@ladisch.de> (raw)
In-Reply-To: <00d001cf1b99$026407d0$072c1770$@gmail.com>

Network Nut wrote:
> 5. I can simulate system-global named mutex using shared-memory for
> underlying state of mutex (POCO NamedMutex)
> 6. I can get named semaphore using POSIX sem_create
>
> It seems that the remaining problem is to get named mutex and named
> semaphore to be accessible by file-descriptor.

Forget about the POSIX stuff.  You can implement a mutex by using
an eventfd that has the value 1 in the unlocked state; a read locks,
a write of 1 unlocks.  You can implement a semaphore by using an eventfd
with EFD_SEMAPHORE.


And I should note that it is a common pattern to start a bunch of other
processes from a helper process; this not only allows inheriting file
descriptors, but also makes monitoring these processes easier from the
parent.  Do all of your processes really need to be started
independently?


>>> "The timeout argument specifies the minimum number of milliseconds
>>>        that epoll_wait() will block."
>>>
>>> I think the word "minimum" should be "maximum".
>>
>> This sentence was copied from the poll(2) man page, where the previous
>> sentence says "poll() blocks until one of the events occurs".  So the word
>> "block" implies that no event has occured.
>
> So that means that it is a bug, right? Or?

The purpose of a man page is certainly not to confuse its readers.  I'd
guess the maintainer would be happy about an improved wording.


Regards,
Clemens

  reply	other threads:[~2014-01-28  9:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-25 22:01 WaitForMultipleObjects/etc. In Kernel Network Nut
2014-01-26 18:33 ` Clemens Ladisch
2014-01-26 22:10   ` Network Nut
2014-01-27  9:06     ` Clemens Ladisch
2014-01-27 19:50       ` Network Nut
2014-01-28  9:04         ` Clemens Ladisch [this message]
2014-01-28 21:07           ` Network Nut
2014-01-29  8:30             ` Clemens Ladisch
2014-01-30 23:49               ` Network Nut
2014-01-31 17:05                 ` Austin S. Hemmelgarn
2014-01-31 22:35                   ` Network Nut
2014-01-31 22:53                     ` Clemens Ladisch
2014-01-31 23:00                       ` Network Nut
2014-01-31 23:08                         ` Network Nut
     [not found]       ` <52E6219A.3020405-P6GI/4k7KOmELgA04lAiVw@public.gmane.org>
2014-01-27 21:21         ` FW: " Network Nut
2014-01-29 10:40           ` Michael Kerrisk (man-pages)
     [not found]             ` <52E8DA80.7080204-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-30 20:04               ` Network Nut
2014-01-31  6:56                 ` Michael Kerrisk (man-pages)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52E77282.4030303@ladisch.de \
    --to=clemens@ladisch.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sillystack@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.