[cvslog] [CVS] Module eggdrop1.6: Change committed

cvs at eggheads.org cvs at eggheads.org
Sun Jul 31 14:15:16 CST 2011


CVSROOT    : /usr/local/cvsroot
Module     : eggdrop1.6
Commit time: 2011-07-31 20:15:16 UTC
Committer  : Thomas Sader <thommey at gmail.com>

Modified files:
     doc/Changes1.6 src/patch.h src/tcl.c src/tclhash.h

Log message:

Partially revert changes to vwait/update.

---------------------- diff included ----------------------
Index: eggdrop1.6/doc/Changes1.6
diff -u eggdrop1.6/doc/Changes1.6:1.103 eggdrop1.6/doc/Changes1.6:1.104
--- eggdrop1.6/doc/Changes1.6:1.103	Wed Jul 20 04:54:48 2011
+++ eggdrop1.6/doc/Changes1.6	Sun Jul 31 14:15:05 2011
@@ -1,4 +1,4 @@
-$Id: Changes1.6,v 1.103 2011/07/20 10:54:48 thommey Exp $
+$Id: Changes1.6,v 1.104 2011/07/31 20:15:05 thommey Exp $
 
 Eggdrop Changes (since version 1.6.0)
 
@@ -6,6 +6,11 @@
 
 1.6.21 (CVS):
 
+  - Partially revert changes to vwait/update. They are back to only
+    processing Tcl events for now (fileevent/after) as handling eggdrop
+    events turned out to require careful examination of reentrance issues.
+    Patch by: thommey
+
   - Ran autotools.
   - More AC_LANG_* usage.
   - Work around Tcl8.5.10 bug 3371644 (strings starting with # could crash
Index: eggdrop1.6/src/patch.h
diff -u eggdrop1.6/src/patch.h:1.1262 eggdrop1.6/src/patch.h:1.1263
--- eggdrop1.6/src/patch.h:1.1262	Wed Jul 20 04:50:35 2011
+++ eggdrop1.6/src/patch.h	Sun Jul 31 14:15:06 2011
@@ -10,7 +10,7 @@
  * statement, leave the rest of the file alone, this allows better
  * overlapping patches.
  *
- * $Id: patch.h,v 1.1262 2011/07/20 10:50:35 thommey Exp $
+ * $Id: patch.h,v 1.1263 2011/07/31 20:15:06 thommey Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -41,12 +41,12 @@
  *
  *
  */
-patch("1311158928");            /* current unixtime */
+patch("1312143269");            /* current unixtime */
 /*
  *
  *
  */
-patch("tclhashcrash");
+patch("vwaittclonly");
 /*
  *
  *
Index: eggdrop1.6/src/tcl.c
diff -u eggdrop1.6/src/tcl.c:1.100 eggdrop1.6/src/tcl.c:1.101
--- eggdrop1.6/src/tcl.c:1.100	Sat Jul  9 09:07:48 2011
+++ eggdrop1.6/src/tcl.c	Sun Jul 31 14:15:06 2011
@@ -4,7 +4,7 @@
  *   Tcl initialization
  *   getting and setting Tcl/eggdrop variables
  *
- * $Id: tcl.c,v 1.100 2011/07/09 15:07:48 thommey Exp $
+ * $Id: tcl.c,v 1.101 2011/07/31 20:15:06 thommey Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -735,7 +735,13 @@
 int init_threaddata(int mainthread)
 {
   struct threaddata *td = threaddata();
-  td->mainloopfunc = mainthread ? mainloop : tclthreadmainloop;
+/* Nested evaluation (vwait/update) of the event loop only
+ * processes Tcl events (after/fileevent) for now. Using
+ * eggdrops mainloop() requires caution regarding reentrance.
+ * (check_tcl_* -> Tcl_Eval() -> mainloop() -> check_tcl_* etc.)
+ */
+/* td->mainloopfunc = mainthread ? mainloop : tclthreadmainloop; */
+  td->mainloopfunc = tclthreadmainloop;
   td->socklist = NULL;
   td->mainthread = mainthread;
   td->blocktime.tv_sec = 1;
Index: eggdrop1.6/src/tclhash.h
diff -u eggdrop1.6/src/tclhash.h:1.26 eggdrop1.6/src/tclhash.h:1.27
--- eggdrop1.6/src/tclhash.h:1.26	Sun Feb 13 08:19:33 2011
+++ eggdrop1.6/src/tclhash.h	Sun Jul 31 14:15:06 2011
@@ -1,7 +1,7 @@
 /*
  * tclhash.h
  *
- * $Id: tclhash.h,v 1.26 2011/02/13 14:19:33 simple Exp $
+ * $Id: tclhash.h,v 1.27 2011/07/31 20:15:06 thommey Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -39,7 +39,8 @@
 } tcl_cmd_t;
 
 struct threaddata {
-  int (*mainloopfunc)(int);     /* main loop function */
+  int (*mainloopfunc)(int);     /* main loop function replacing a single
+                                 * tcl event loop iteration */
   sock_list *socklist;          /* tcl socket list for threads, else NULL */
   struct timeval blocktime;     /* maximum time to block in select() */
   int mainthread;               /* Is this the main thread? */
----------------------- End of diff -----------------------


More information about the Changes mailing list