Hi,

On Sun, Sep 19, 2010 at 05:07:18PM +0100, Adam D. Barratt wrote:
> Looking at the code, only the changes in the third hunk (around line
> 583) actually appear to make any practical difference; the others
> shouldn't hurt though, for a "belt and braces" approach.

It is the patch published by upstream to patch the issue; I'd like to
take that one in full and verbatim to stay synchronized with upstream.

> In terms of a stable update, we prefer not to change or introduce patch
> systems so the changes should be applied directly via the .diff.gz.

Done.

>   One also assumes that the copy of config.log from an aborted run was
>   not intended to be included. :-)

Strike. New debdiff attached.

Greetings
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."    Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 3221 2323190
diff -u ser2net-2.5/debian/changelog ser2net-2.5/debian/changelog
--- ser2net-2.5/debian/changelog
+++ ser2net-2.5/debian/changelog
@@ -1,3 +1,9 @@
+ser2net (2.5-1+lenny1) stable; urgency=low
+
+  * add patch from Sebastian Andrzej Siewior. Closes: #535159
+
+ -- Marc Haber <[email protected]>  Tue, 28 Sep 2010 19:58:37 
+0000
+
 ser2net (2.5-1) unstable; urgency=low
 
   * new upstream version.
only in patch2:
unchanged:
--- ser2net-2.5.orig/controller.c
+++ ser2net-2.5/controller.c
@@ -550,17 +550,17 @@
        if (write_count == -1) {
            if (errno == EINTR) {
                /* EINTR means we were interrupted, just retry by returning. */
-               return;
+               goto out;
            }
 
            if (errno == EAGAIN) {
                /* This again was due to O_NONBLOCK, just ignore it. */
            } else if (errno == EPIPE) {
-               shutdown_controller(cntlr);
+               goto out_fail;
            } else {
                /* Some other bad error. */
                syslog(LOG_ERR, "The tcp write for controller had error: %m");
-               shutdown_controller(cntlr);
+               goto out_fail;
            }
        } else {
            int i, j;
@@ -572,7 +572,7 @@
            if (td->out_telnet_cmd_size != 0)
                /* If we have more telnet command data to send, don't
                   send any real data. */
-               return;
+               goto out;
        }
     }
 
@@ -583,11 +583,11 @@
        if (errno == EAGAIN) {
            /* This again was due to O_NONBLOCK, just ignore it. */
        } else if (errno == EPIPE) {
-           shutdown_controller(cntlr);
+           goto out_fail;
        } else {
            /* Some other bad error. */
            syslog(LOG_ERR, "The tcp write for controller had error: %m");
-           shutdown_controller(cntlr);
+           goto out_fail;
        }
     } else {
        cntlr->outbuf_count -= write_count;
@@ -604,6 +604,11 @@
                                     SEL_FD_HANDLER_DISABLED);
        }
     }
+ out:
+    return;
+
+ out_fail:
+    shutdown_controller(cntlr);
 }
 
 /* Handle an exception from the TCP port. */

Reply via email to