aboutsummaryrefslogtreecommitdiffstats
path: root/gpgme/w32-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'gpgme/w32-io.c')
-rw-r--r--gpgme/w32-io.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gpgme/w32-io.c b/gpgme/w32-io.c
index 4a76d75b..f7453711 100644
--- a/gpgme/w32-io.c
+++ b/gpgme/w32-io.c
@@ -752,7 +752,10 @@ _gpgme_io_write (int fd, const void *buffer, size_t count)
if (ctx->error)
{
UNLOCK (ctx->mutex);
- errno = ctx->error_code;
+ if (ctx->error_code == ERROR_NO_DATA)
+ errno = EPIPE;
+ else
+ errno = EIO;
return TRACE_SYSRES (-1);
}
@@ -1104,6 +1107,7 @@ _gpgme_io_spawn (const char *path, char **argv,
}
cr_flags |= CREATE_SUSPENDED;
+ cr_flags |= DETACHED_PROCESS;
if (!CreateProcessA (path,
arg_string,
&sec_attr, /* process security attributes */