src/sock_test.c
changeset 42 13cfc41f76a7
parent 41 40f7aa051acb
child 43 42f5dc680930
--- a/src/sock_test.c	Thu Mar 12 21:12:48 2009 +0200
+++ b/src/sock_test.c	Thu Mar 12 21:23:33 2009 +0200
@@ -129,6 +129,9 @@
 {
     struct sock_test *sock = SOCK_FROM_BASE(base_sock, struct sock_test);
 
+    // store mask
+    sock->ev_mask = mask;
+
     return SUCCESS;
 }
 
@@ -212,6 +215,14 @@
     
     // copy    
     *(buf->write_vec++) = new_vec;
+
+    // notify events?
+    if (sock->ev_mask) {
+        int mask = sock->ev_mask;
+        sock->ev_mask = 0;
+
+        sock_stream_invoke_callbacks(SOCK_TEST_BASE(sock), mask);
+    }
 }
 
 void sock_test_get_send_data (struct sock_test *sock, char **buf_ptr, size_t *len_ptr)