X-Git-Url: https://git.gag.com/?p=debian%2Famanda;a=blobdiff_plain;f=common-src%2Famservice.c;h=8b8c50aaa86835ede40f05013f585cf8bdc5c724;hp=b5346a128c5391450abf6dc3bccf366e54285f1c;hb=d28952249e392eb31bc8eecc53f6c477f30c617b;hpb=949b8910a5e23c4285d0b1aedacfc82a14dc97a5 diff --git a/common-src/amservice.c b/common-src/amservice.c index b5346a1..8b8c50a 100644 --- a/common-src/amservice.c +++ b/common-src/amservice.c @@ -1,6 +1,7 @@ /* * Amanda, The Advanced Maryland Automatic Network Disk Archiver * Copyright (c) 1991-2000 University of Maryland at College Park + * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved. * All Rights Reserved. * * Permission to use, copy, modify, distribute, and sell this software and its @@ -321,18 +322,17 @@ read_in( void *cookie G_GNUC_UNUSED) { size_t nread; - char buf[1024]; + char buf[1025]; - event_release(event_in); nread = read(0, buf, 1024); - if (nread == 0) { + if (nread <= 0) { + event_release(event_in); security_stream_close(fd); return; } buf[nread] = '\0'; security_stream_write(fd, buf, nread); - event_in = event_register((event_id_t)0, EV_READFD, read_in, NULL); } static void @@ -351,7 +351,6 @@ read_server( if (errno > 0) { g_debug("failed to write to stdout: %s", strerror(errno)); } - security_stream_read(fd, read_server, NULL); break; } }