Debian Bug report logs - #504202
manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering

version graph

Package: manpages; Maintainer for manpages is Martin Schulze <joey@debian.org>; Source for manpages is src:manpages.

Reported by: Olaf van der Spek <OlafvdSpek@GMail.Com>

Date: Sat, 1 Nov 2008 17:00:01 UTC

Severity: normal

Tags: fixed-upstream

Found in version manpages/3.07-1

Fixed in version manpages/3.13-1

Done: Joey Schulze <joey@infodrom.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Sat, 01 Nov 2008 17:00:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Olaf van der Spek <OlafvdSpek@GMail.Com>:
New Bug report received and forwarded. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 01 Nov 2008 17:00:04 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Olaf van der Spek <OlafvdSpek@GMail.Com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Sat, 01 Nov 2008 17:56:01 +0100
Package: manpages
Version: 3.07-1
Severity: normal

Hi,

The edge-triggered example doesn't specify whether listener socket is also using edge-triggering.
If it does, the example is broken because it doesn't call accept until it returns EAGAIN.
If it doesn't, this should be specified. And then it'd be nice to give an example where it does use edge-triggering as well.


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

manpages depends on no packages.

manpages recommends no packages.

Versions of packages manpages suggests:
ii  man-db [man-browser]          2.5.2-3    on-line manual pager

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Sat, 01 Nov 2008 17:09:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 01 Nov 2008 17:09:06 GMT) Full text and rfc822 format available.

Message #10 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: 504202@bugs.debian.org
Date: Sat, 1 Nov 2008 18:04:37 +0100
Ah, this is about EPOLL(7).




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Sat, 01 Nov 2008 19:42:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to mtk.manpages@gmail.com:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 01 Nov 2008 19:42:02 GMT) Full text and rfc822 format available.

Message #15 received at 504202@bugs.debian.org (full text, mbox):

From: "Michael Kerrisk" <mtk.manpages@googlemail.com>
To: "Olaf van der Spek" <OlafvdSpek@gmail.com>, 504202@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Sat, 1 Nov 2008 14:38:44 -0500
tags  504202 fixed-upstream
thanks

On Sat, Nov 1, 2008 at 11:56 AM, Olaf van der Spek <OlafvdSpek@gmail.com> wrote:
> Package: manpages
> Version: 3.07-1
> Severity: normal
>
> Hi,
>
> The edge-triggered example doesn't specify whether listener socket is also using
> edge-triggering.

True.  Implicitly, one can draw the conclusion that it is not
edge-triggered, but of course this could be clearer.

> If it does, the example is broken because it doesn't call accept until it returns EAGAIN.

(One draws the conclusion I mentioned *because* it doesn't do this.)

> If it doesn't, this should be specified.

I've done that (see below).

> And then it'd be nice to give an example where it does use edge-triggering as well.

This would serve to make the example longer, but I'm not sure that it
would provide any real learning benefit.  (I'm open to (good)
arguments to the contrary, especially if accompanied by a suitable
patch.)

The code has been altered to that shown below, which will be in
man-pages-3.13, and is already available via git.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html




Tags added: fixed-upstream Request was from "Michael Kerrisk" <mtk.manpages@googlemail.com> to control@bugs.debian.org. (Sat, 01 Nov 2008 19:42:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Sat, 01 Nov 2008 19:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 01 Nov 2008 19:45:02 GMT) Full text and rfc822 format available.

Message #22 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: mtk.manpages@gmail.com
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Sat, 1 Nov 2008 20:43:30 +0100
On Sat, Nov 1, 2008 at 8:38 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
>> And then it'd be nice to give an example where it does use edge-triggering as well.
>
> This would serve to make the example longer, but I'm not sure that it
> would provide any real learning benefit.  (I'm open to (good)
> arguments to the contrary, especially if accompanied by a suitable
> patch.)

I'm wondering about the case where accept() returns EMFILE. In that
case, the example currently misbehaves (it does a busy loop).
I'm not sure how epoll behaves in this case and a solution doesn't
appear to be trivial.




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 14:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Kerrisk <mtk.manpages@googlemail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 14:00:02 GMT) Full text and rfc822 format available.

Message #27 received at 504202@bugs.debian.org (full text, mbox):

From: Michael Kerrisk <mtk.manpages@googlemail.com>
To: mtk.manpages@gmail.com
Cc: Olaf van der Spek <OlafvdSpek@gmail.com>, 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 04 Nov 2008 08:55:43 -0500
I responded:

>> If it doesn't, this should be specified.
> 
> I've done that (see below).
> 
>> And then it'd be nice to give an example where it does use edge-triggering as well.
> 
> This would serve to make the example longer, but I'm not sure that it
> would provide any real learning benefit.  (I'm open to (good)
> arguments to the contrary, especially if accompanied by a suitable
> patch.)
> 
> The code has been altered to that shown below, which will be in
> man-pages-3.13, and is already available via git.

But forgot to include the revised code.  Here it is.

Cheers,

Michael

           #define MAX_EVENTS 10
           struct epoll_event ev, events[MAX_EVENTS];
           int listen_sock, conn_sock, nfds, epollfd;

           /* Set up listening socket, 'listen_sock' (socket(),
              bind(), listen()) */

           epollfd = epoll_create(10);
           if (epollfd == -1) {
               perror("epoll_create");
               exit(EXIT_FAILURE);
           }

           ev.events = EPOLL_IN;
           ev.data.fd = listen_sock;
           if (epoll_ctl(epollfd, EPOLL_CTL_ADD, listen_sock, &ev) == -1) {
               perror("epoll_ctl: listen_sock");
               exit(EXIT_FAILURE);
           }

           for (;;) {
               nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);

               for (n = 0; n < nfds; ++n) {
                   if (events[n].data.fd == listen_sock) {
                       conn_sock = accept(listen_sock,
                                       (struct sockaddr *) &local, &addrlen);
                       if (conn_sock == -1) {
                           perror("accept");
                           continue;
                       }
                       setnonblocking(conn_sock);
                       ev.events = EPOLLIN | EPOLLET;
                       ev.data.fd = conn_sock;
                       if (epoll_ctl(epollfd, EPOLL_CTL_ADD, conn_sock,
                                   &ev) == -1) {
                           perror("epoll_ctl: conn_sock);
                           exit(EXIT_FAILURE);
                       }
                   } else {
                       do_use_fd(events[n].data.fd);
                   }
               }
           }





Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 14:06:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 14:06:03 GMT) Full text and rfc822 format available.

Message #32 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: "Michael Kerrisk" <mtk.manpages@googlemail.com>
Cc: mtk.manpages@gmail.com, 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 15:04:10 +0100
On Tue, Nov 4, 2008 at 2:55 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
> But forgot to include the revised code.  Here it is.

That's better.

BTW, did you miss my response?

I'm wondering about the case where accept() returns EMFILE. In that
case, the example currently misbehaves (it does a busy loop).
I'm not sure how epoll behaves in this case and a solution doesn't
appear to be trivial.




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:03:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Kerrisk <mtk.manpages@googlemail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:03:07 GMT) Full text and rfc822 format available.

Message #37 received at 504202@bugs.debian.org (full text, mbox):

From: Michael Kerrisk <mtk.manpages@googlemail.com>
To: Olaf van der Spek <olafvdspek@gmail.com>
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 04 Nov 2008 10:59:54 -0500
Hello Olaf,

Olaf van der Spek wrote:
> On Sat, Nov 1, 2008 at 8:38 PM, Michael Kerrisk
> <mtk.manpages@googlemail.com> wrote:
>>> And then it'd be nice to give an example where it does use edge-triggering as well.
>> This would serve to make the example longer, but I'm not sure that it
>> would provide any real learning benefit.  (I'm open to (good)
>> arguments to the contrary, especially if accompanied by a suitable
>> patch.)
> 
> I'm wondering about the case where accept() returns EMFILE. In that
> case, the example currently misbehaves (it does a busy loop).

Agreed -- that error is not properly handled.  (There is the same
problem for ENFILE.)  Thanks for spotting that.

> I'm not sure how epoll behaves in this case and a solution doesn't
> appear to be trivial.

Well, epoll_wait(2) is just going to behave as usual: it tells us that the listening
socket fd is ready.  Then the accept() fails with EMFILE.

I think the simplest thing here is to change the "continue;" in the error
handling after accept() to "exit(EXIT_FAILURE);", and that's what I've done
for man-pages-3.13.

I also added error handling for the epoll_wait() call.

The code of the example by now reads as below.

Cheers,

Michael


           #define MAX_EVENTS 10
           struct epoll_event ev, events[MAX_EVENTS];
           int listen_sock, conn_sock, nfds, epollfd;

           /* Set up listening socket, 'listen_sock' (socket(),
              bind(), listen()) */

           epollfd = epoll_create(10);
           if (epollfd == -1) {
               perror("epoll_create");
               exit(EXIT_FAILURE);
           }

           ev.events = EPOLL_IN;
           ev.data.fd = listen_sock;
           if (epoll_ctl(epollfd, EPOLL_CTL_ADD, listen_sock, &ev) == -1) {
               perror("epoll_ctl: listen_sock");
               exit(EXIT_FAILURE);
           }

           for (;;) {
               nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);
               if (nfds == -1) {
                   perror("epoll_pwait");
                   exit(EXIT_FAILURE);
               }

               for (n = 0; n < nfds; ++n) {
                   if (events[n].data.fd == listen_sock) {
                       conn_sock = accept(listen_sock,
                                       (struct sockaddr *) &local, &addrlen);
                       if (conn_sock == -1) {
                           perror("accept");
                           exit(EXIT_FAILURE);
                       }
                       setnonblocking(conn_sock);
                       ev.events = EPOLLIN | EPOLLET;
                       ev.data.fd = conn_sock;
                       if (epoll_ctl(epollfd, EPOLL_CTL_ADD, conn_sock,
                                   &ev) == -1) {
                           perror("epoll_ctl: conn_sock);
                           exit(EXIT_FAILURE);
                       }
                   } else {
                       do_use_fd(events[n].data.fd);
                   }
               }
           }





Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:06:02 GMT) Full text and rfc822 format available.

Message #42 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: "Michael Kerrisk" <mtk.manpages@googlemail.com>
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 17:04:22 +0100
On Tue, Nov 4, 2008 at 4:59 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
> Well, epoll_wait(2) is just going to behave as usual: it tells us that the
> listening
> socket fd is ready.  Then the accept() fails with EMFILE.
>
> I think the simplest thing here is to change the "continue;" in the error
> handling after accept() to "exit(EXIT_FAILURE);", and that's what I've done
> for man-pages-3.13.
>
> I also added error handling for the epoll_wait() call.

I agree that it's the simplest way, but it's not the proper way.




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to mtk.manpages@gmail.com:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:09:03 GMT) Full text and rfc822 format available.

Message #47 received at 504202@bugs.debian.org (full text, mbox):

From: "Michael Kerrisk" <mtk.manpages@googlemail.com>
To: "Olaf van der Spek" <olafvdspek@gmail.com>
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 11:05:38 -0500
Hi Olaf,

On Tue, Nov 4, 2008 at 11:04 AM, Olaf van der Spek <olafvdspek@gmail.com> wrote:
> On Tue, Nov 4, 2008 at 4:59 PM, Michael Kerrisk
> <mtk.manpages@googlemail.com> wrote:
>> Well, epoll_wait(2) is just going to behave as usual: it tells us that the
>> listening
>> socket fd is ready.  Then the accept() fails with EMFILE.
>>
>> I think the simplest thing here is to change the "continue;" in the error
>> handling after accept() to "exit(EXIT_FAILURE);", and that's what I've done
>> for man-pages-3.13.
>>
>> I also added error handling for the epoll_wait() call.
>
> I agree that it's the simplest way, but it's not the proper way.

I'm curious.  How would you ideally improve it?


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:15:02 GMT) Full text and rfc822 format available.

Message #52 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: mtk.manpages@gmail.com
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 17:12:43 +0100
On Tue, Nov 4, 2008 at 5:05 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
> I'm curious.  How would you ideally improve it?

With the current epoll wait behaviour and LT, you'd have to unregister
the EPOLLIN event for the listener.
After you close a descriptor, you then reregister it.

With ET, you'd have to set a flag when you hit EM/ENFILE. After you
close a descriptor and the flag is set, call accept.

Ideally I'd like to see epoll_wait do this behind the scenes, at least
in the ET case.




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:18:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to mtk.manpages@gmail.com:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:18:06 GMT) Full text and rfc822 format available.

Message #57 received at 504202@bugs.debian.org (full text, mbox):

From: "Michael Kerrisk" <mtk.manpages@googlemail.com>
To: "Olaf van der Spek" <olafvdspek@gmail.com>
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 11:17:06 -0500
Hi Olaf,

On Tue, Nov 4, 2008 at 11:12 AM, Olaf van der Spek <olafvdspek@gmail.com> wrote:
> On Tue, Nov 4, 2008 at 5:05 PM, Michael Kerrisk
> <mtk.manpages@googlemail.com> wrote:
>> I'm curious.  How would you ideally improve it?
>
> With the current epoll wait behaviour and LT, you'd have to unregister
> the EPOLLIN event for the listener.
> After you close a descriptor, you then reregister it.
>
> With ET, you'd have to set a flag when you hit EM/ENFILE. After you
> close a descriptor and the flag is set, call accept.
>
> Ideally I'd like to see epoll_wait do this behind the scenes, at least
> in the ET case.

Okay -- thanks for the ideas.  All of that would be a bit too complicated
for this example of course (as I think you probably also agree).

Cheers,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:42:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Olaf van der Spek" <olafvdspek@gmail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:42:07 GMT) Full text and rfc822 format available.

Message #62 received at 504202@bugs.debian.org (full text, mbox):

From: "Olaf van der Spek" <olafvdspek@gmail.com>
To: mtk.manpages@gmail.com
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 4 Nov 2008 17:40:13 +0100
On Tue, Nov 4, 2008 at 5:17 PM, Michael Kerrisk
<mtk.manpages@googlemail.com> wrote:
> Okay -- thanks for the ideas.  All of that would be a bit too complicated
> for this example of course (as I think you probably also agree).

Yes, indeed. But the error handling is important and non-trivial.
Maybe a more detailed example could be put in an external file?




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#504202; Package manpages. (Tue, 04 Nov 2008 16:51:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michael Kerrisk <mtk.manpages@googlemail.com>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Tue, 04 Nov 2008 16:51:04 GMT) Full text and rfc822 format available.

Message #67 received at 504202@bugs.debian.org (full text, mbox):

From: Michael Kerrisk <mtk.manpages@googlemail.com>
To: Olaf van der Spek <olafvdspek@gmail.com>
Cc: 504202@bugs.debian.org
Subject: Re: Bug#504202: manpages: edge-triggered example doesn't specify whether listener socket is also using edge-triggering
Date: Tue, 04 Nov 2008 11:46:46 -0500
Hello Olaf,

Olaf van der Spek wrote:
> On Tue, Nov 4, 2008 at 5:17 PM, Michael Kerrisk
> <mtk.manpages@googlemail.com> wrote:
>> Okay -- thanks for the ideas.  All of that would be a bit too complicated
>> for this example of course (as I think you probably also agree).
> 
> Yes, indeed. But the error handling is important and non-trivial.
> Maybe a more detailed example could be put in an external file?

If you can construct something that is not too lengthy, and is readable,
complete, and free of obvious bugs, I'd consider including it in a man page.
(But I appreciate that this would be quite a bit of work, and I'm not
expecting you to do this.)

Thanks,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
git://git.kernel.org/pub/scm/docs/man-pages/man-pages.git
man-pages online: http://www.kernel.org/doc/man-pages/online_pages.html
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html




Reply sent to Joey Schulze <joey@infodrom.org>:
You have taken responsibility. (Fri, 21 Nov 2008 10:59:00 GMT) Full text and rfc822 format available.

Notification sent to Olaf van der Spek <OlafvdSpek@GMail.Com>:
Bug acknowledged by developer. (Fri, 21 Nov 2008 10:59:32 GMT) Full text and rfc822 format available.

Message #72 received at 504202-close@bugs.debian.org (full text, mbox):

From: Joey Schulze <joey@infodrom.org>
To: 504202-close@bugs.debian.org
Subject: Bug#504202: fixed in manpages 3.13-1
Date: Fri, 21 Nov 2008 10:47:04 +0000
Source: manpages
Source-Version: 3.13-1

We believe that the bug you reported is fixed in the latest version of
manpages, which is due to be installed in the Debian FTP archive:

manpages-dev_3.13-1_all.deb
  to pool/main/m/manpages/manpages-dev_3.13-1_all.deb
manpages_3.13-1.diff.gz
  to pool/main/m/manpages/manpages_3.13-1.diff.gz
manpages_3.13-1.dsc
  to pool/main/m/manpages/manpages_3.13-1.dsc
manpages_3.13-1_all.deb
  to pool/main/m/manpages/manpages_3.13-1_all.deb
manpages_3.13.orig.tar.gz
  to pool/main/m/manpages/manpages_3.13.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 504202@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Joey Schulze <joey@infodrom.org> (supplier of updated manpages package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 21 Nov 2008 11:05:35 +0100
Source: manpages
Binary: manpages manpages-dev
Architecture: source all
Version: 3.13-1
Distribution: unstable
Urgency: low
Maintainer: Martin Schulze <joey@debian.org>
Changed-By: Joey Schulze <joey@infodrom.org>
Description: 
 manpages   - Manual pages about using a GNU/Linux system
 manpages-dev - Manual pages about using GNU/Linux for development
Closes: 504202 504708
Changes: 
 manpages (3.13-1) unstable; urgency=low
 .
   * New upstream release
     . Fix prototype of dn_expand in resolver(3) (closes: Bug#504708)
     . Improve and fix error handling after accept() in example code in
       epoll(7) (closes: Bug#504202)
Checksums-Sha1: 
 bbc7b54823181a5bdc0c62e8841add3cc7bb7e7a 964 manpages_3.13-1.dsc
 96398ab4039804c413451793f4fa0dd578cf2177 1494013 manpages_3.13.orig.tar.gz
 771cbfb520752151150447aa2cee7d704831b591 47339 manpages_3.13-1.diff.gz
 8a105b8abe1480d4aa754cfae304fb7f1678aa1c 643140 manpages_3.13-1_all.deb
 435b66c662a8c11e52f12879d052b05f738041ff 1525648 manpages-dev_3.13-1_all.deb
Checksums-Sha256: 
 b3bbbb292a7b60867b322492027bcc720ef3a7fbd16a92d3f384afed61a270b9 964 manpages_3.13-1.dsc
 28f9ea4dfafb93517ce970f37f83b66dc7e15aa2b32afb5b854dc0badb6c81eb 1494013 manpages_3.13.orig.tar.gz
 889050b213813b1d0b357cd457dbd66afe6fd7ef7a5a96eec8bc32a479c41bc4 47339 manpages_3.13-1.diff.gz
 c529ea01eb891aad1a40bcc9ce825494fd69146a420828d6ba093f47a44f59ef 643140 manpages_3.13-1_all.deb
 60a1a6eb0417f20a5ba3920eb2e4a8372e3abbdbfac6e8f7619ee32b2182d2a0 1525648 manpages-dev_3.13-1_all.deb
Files: 
 657c6bbe97223259270a4c3b400ddc7e 964 doc important manpages_3.13-1.dsc
 148f8ed1609c24fa390cd249da840120 1494013 doc important manpages_3.13.orig.tar.gz
 04c1c1178026c70a63dc3390d0b1cccf 47339 doc important manpages_3.13-1.diff.gz
 b227d706c18d0bfe2efb4300b4524c48 643140 doc important manpages_3.13-1_all.deb
 12acae4794c7dc8db0d34d06513a5a8d 1525648 doc optional manpages-dev_3.13-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFJJo1EW5ql+IAeqTIRAreGAJ9Nxxm8aXf5tr4pSByimLV4jQi74gCdET0X
6ZV04KybkoI1DtTw7S3hEb4=
=pp9E
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 20 Dec 2008 07:26:04 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 07:59:48 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.