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