sas             Thu Dec  5 10:35:04 2002 EDT

  Modified files:              
    /php4/ext/ircg      ircg.c 
  Log:
  let the write buffer notify us about terminated connections
  
  
Index: php4/ext/ircg/ircg.c
diff -u php4/ext/ircg/ircg.c:1.155 php4/ext/ircg/ircg.c:1.156
--- php4/ext/ircg/ircg.c:1.155  Wed Dec  4 08:10:23 2002
+++ php4/ext/ircg/ircg.c        Thu Dec  5 10:35:04 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: ircg.c,v 1.155 2002/12/04 13:10:23 sas Exp $ */
+/* $Id: ircg.c,v 1.156 2002/12/05 15:35:04 sas Exp $ */
 
 /* {{{ includes */
 
@@ -1047,11 +1047,9 @@
 }
 /* }}} */
 
-static void wbuf_destruct(irc_write_buf *p)
+static void wbuf_dead(irc_write_buf *p, void *data)
 {
-       php_ircg->irc_wbuf_destructs++;
-       memset(p, 0xaa, sizeof(*p));
-       IRCG_SHARED_FREE(p);
+       irc_disconnect(data, "Client connection terminated");
 }
 
 /* {{{ proto bool ircg_set_current(int connection)
@@ -1097,7 +1095,12 @@
                                sizeof(int), NULL);
 #endif
                if (conn->file_fd == -1 && conn->fd >= 0) {
-                       if (irc_write_buf_add(&conn->wb, conn->fd) == 0) {
+#if IRCG_API_VERSION < 20021127
+                       irc_write_buf_add(&conn->wb, conn->fd);
+                       if (1) {
+#else
+                       if (irc_write_buf_add_ex(&conn->wb, conn->fd, wbuf_dead, conn) 
+== 0) {
+#endif
                                php_ircg->irc_set_currents++;
                                IRCGG(flush_data) = conn;
                                /* We maintain a reference to conn until rshutdown */



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to