diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2018-06-28 17:53:31 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-06-28 17:53:31 +0100 |
commit | 609ef9f451759151d0bfe7c3843410ab94d68f18 (patch) | |
tree | c74ce9664aeed913305449fd59c5e1c301948a73 /chardev/char-socket.c | |
parent | 7106a87d96c58a2ad7a4669781e58b22a3081004 (diff) | |
parent | d66f78e1eaa832f73c771d9df1b606fe75d52a50 (diff) |
Merge remote-tracking branch 'remotes/berrange/tags/qio-next-pull-request' into staging
Merge qio 2018-06-28 v3
Misc bug fixes for sockets channels
# gpg: Signature made Thu 28 Jun 2018 13:37:35 BST
# gpg: using RSA key BE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>"
# gpg: aka "Daniel P. Berrange <berrange@redhat.com>"
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF
* remotes/berrange/tags/qio-next-pull-request:
Delete AF_UNIX socket after close
socket: don't free msgfds if error equals EAGAIN
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'chardev/char-socket.c')
-rw-r--r-- | chardev/char-socket.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chardev/char-socket.c b/chardev/char-socket.c index 159e69c3b1..17519ec589 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -134,8 +134,8 @@ static int tcp_chr_write(Chardev *chr, const uint8_t *buf, int len) s->write_msgfds, s->write_msgfds_num); - /* free the written msgfds, no matter what */ - if (s->write_msgfds_num) { + /* free the written msgfds in any cases other than errno==EAGAIN */ + if (EAGAIN != errno && s->write_msgfds_num) { g_free(s->write_msgfds); s->write_msgfds = 0; s->write_msgfds_num = 0; |