[Spice-devel] [PATCH 2/7] Add reds_stream_set_async_error_handler() helper

Christophe Fergeau cfergeau at redhat.com
Mon Mar 17 06:20:36 PDT 2014


This replaces async_read_set_error_handler() which was unused. This sets a
callback to be called when an async operation fails.
---
 server/reds_stream.c | 7 +++----
 server/reds_stream.h | 5 ++---
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/server/reds_stream.c b/server/reds_stream.c
index 57eb1d1..cb42561 100644
--- a/server/reds_stream.c
+++ b/server/reds_stream.c
@@ -385,11 +385,10 @@ int reds_stream_enable_ssl(RedsStream *stream, SSL_CTX *ctx)
     return reds_stream_ssl_accept(stream);
 }
 
-void async_read_set_error_handler(AsyncRead *async,
-                                  AsyncReadError error_handler,
-                                 void *opaque)
+void reds_stream_set_async_error_handler(RedsStream *stream,
+                                         AsyncReadError error_handler)
 {
-    async->error = error_handler;
+    stream->priv->async_read.error = error_handler;
 }
 
 static inline void async_read_clear_handlers(AsyncRead *obj)
diff --git a/server/reds_stream.h b/server/reds_stream.h
index 866679a..a5b7a17 100644
--- a/server/reds_stream.h
+++ b/server/reds_stream.h
@@ -39,9 +39,6 @@ typedef struct AsyncRead {
 } AsyncRead;
 
 void async_read_handler(int fd, int event, void *data);
-void async_read_set_error_handler(AsyncRead *async,
-                                  AsyncReadError error_handler,
-                                  void *opaque);
 
 typedef struct RedsStreamPrivate RedsStreamPrivate;
 
@@ -67,6 +64,8 @@ typedef enum {
 ssize_t reds_stream_read(RedsStream *s, void *buf, size_t nbyte);
 void reds_stream_async_read(RedsStream *stream, uint8_t *data, size_t size,
                             AsyncReadDone read_done_cb, void *opaque);
+void reds_stream_set_async_error_handler(RedsStream *stream,
+                                         AsyncReadError error_handler);
 ssize_t reds_stream_write(RedsStream *s, const void *buf, size_t nbyte);
 ssize_t reds_stream_writev(RedsStream *s, const struct iovec *iov, int iovcnt);
 bool reds_stream_write_all(RedsStream *stream, const void *in_buf, size_t n);
-- 
1.8.5.3



More information about the Spice-devel mailing list