2004-09-23 Marcus Brinkmann <marcus@g10code.de>
* data.c (_gpgme_data_outbound_handler): Close the file descriptor if we get an EPIPE.
This commit is contained in:
parent
4b8e1217fc
commit
7bfcd45c9f
@ -1,5 +1,8 @@
|
|||||||
2004-09-23 Marcus Brinkmann <marcus@g10code.de>
|
2004-09-23 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
|
* data.c (_gpgme_data_outbound_handler): Close the file descriptor
|
||||||
|
if we get an EPIPE.
|
||||||
|
|
||||||
* data-stream.c (stream_seek): Call ftello and return the current
|
* data-stream.c (stream_seek): Call ftello and return the current
|
||||||
offset.
|
offset.
|
||||||
* data.h (struct gpgme_data): Change type of data.mem.offset to
|
* data.h (struct gpgme_data): Change type of data.mem.offset to
|
||||||
@ -8,6 +11,7 @@
|
|||||||
callback. If SEEK_CUR, adjust the offset by the pending buffer
|
callback. If SEEK_CUR, adjust the offset by the pending buffer
|
||||||
size. Clear pending buffer on success.
|
size. Clear pending buffer on success.
|
||||||
|
|
||||||
|
|
||||||
2004-09-14 Marcus Brinkmann <marcus@g10code.de>
|
2004-09-14 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* gpgme.m4: Add copyright notice.
|
* gpgme.m4: Add copyright notice.
|
||||||
|
12
gpgme/data.c
12
gpgme/data.c
@ -219,9 +219,19 @@ _gpgme_data_outbound_handler (void *opaque, int fd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
nwritten = _gpgme_io_write (fd, dh->pending, dh->pending_len);
|
nwritten = _gpgme_io_write (fd, dh->pending, dh->pending_len);
|
||||||
if (nwritten == -1 && errno == EAGAIN )
|
if (nwritten == -1 && errno == EAGAIN)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (nwritten == -1 && errno == EPIPE)
|
||||||
|
{
|
||||||
|
/* Not much we can do. The other end closed the pipe, but we
|
||||||
|
still have data. This should only ever happen if the other
|
||||||
|
end is going to tell us what happened on some other channel.
|
||||||
|
Silently close our end. */
|
||||||
|
_gpgme_io_close (fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (nwritten <= 0)
|
if (nwritten <= 0)
|
||||||
return gpg_error_from_errno (errno);
|
return gpg_error_from_errno (errno);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user