diff options
Diffstat (limited to 'gpgme/w32-io.c')
-rw-r--r-- | gpgme/w32-io.c | 6 |
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 */ |