From af524c4d6534f32f945698a3e53e14cd38f923fb Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Tue, 28 Jan 2014 22:44:24 +0800
Subject: [PATCH] Fix check for EINTR

---
 gensignkey.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gensignkey.c b/gensignkey.c
index cb66fff..338bbef 100644
--- a/gensignkey.c
+++ b/gensignkey.c
@@ -26,7 +26,7 @@ static int buf_writefile(buffer * buf, const char * filename) {
 	while (buf->pos != buf->len) {
 		int len = write(fd, buf_getptr(buf, buf->len - buf->pos),
 				buf->len - buf->pos);
-		if (errno == EINTR) {
+		if (len == -1 && errno == EINTR) {
 			continue;
 		}
 		if (len <= 0) {