changeset 3674:e0608a068bd6

6500236 several times a day uucp stops working and creates a CPU workload up to 100%.
author as158974
date Sun, 18 Feb 2007 05:05:14 -0800
parents 5bba3401c7f4
children 6f06fd354fd3
files usr/src/cmd/bnu/eio.c
diffstat 1 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/bnu/eio.c	Sat Feb 17 22:21:28 2007 -0800
+++ b/usr/src/cmd/bnu/eio.c	Sun Feb 18 05:05:14 2007 -0800
@@ -2,9 +2,8 @@
  * CDDL HEADER START
  *
  * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
  *
  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  * or http://www.opensolaris.org/os/licensing.
@@ -20,7 +19,7 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
@@ -254,6 +253,16 @@
 			DEBUG(7, "erdblk failed\n%s", "");
 			return(FAIL);
 		}
+
+		/*
+		 * handle the case for remote socket close.
+		 */
+		if (len == 0) {
+			ret = errno;
+			DEBUG(7, "erddata: remote socket closed, errno %d\n",
+				    ret);
+			break;
+		}
 		bytes += len;
 		putfilesize(bytes);
 		if ((msglen -= len) < 0) {