From: SourceForge.net <no...@so...> - 2003-03-11 13:47:57
|
Patches item #690354, was opened at 2003-02-20 22:44 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=690354&group_id=10894 Category: 27. dde Package Group: None Status: Open Resolution: None Priority: 5 Submitted By: Pat Thoyts (patthoyts) Assigned to: Kevin B KENNY (kennykb) Summary: Fix for bug #219293 (and #219155) Initial Comment: This is a fix for bug #219293. ---------------------------------------------------------------------- >Comment By: Pat Thoyts (patthoyts) Date: 2003-03-11 13:59 Message: Logged In: YES user_id=202636 Crap - attaching the patch file this time :) ---------------------------------------------------------------------- Comment By: Pat Thoyts (patthoyts) Date: 2003-03-11 13:58 Message: Logged In: YES user_id=202636 I am uploading an enhanced version of the -unique patch for tclWinDde.c. This addresses concerns about locking the tcl application in the event of badly behaved windows applications. What I have done here is to factor out the implementation of dde services into a separate function DdeGetServicesList(interp, appname, topicname). This builds the services list and returns the list as the interp's result. Secondly I've reimplemented this function in terms of raw DDE calls using SendMessageTimeout. I have left the original code in for reference #ifdef'd out which also helps to bracket the collection of functions required to implement the new functionality. The new services function will ignore servers that are not processing messages. It also fixes bug #219155 as dde services {} $topic works as described. The new code is only accessed from the services command - and from the servername command unless -exact is specified. Following on from this in the future, I could see a case for reimplementing the remainder of the Dde package in raw dde and putting it onto a secondary thread. This would mean that tclsh using dde would be a 'well behaved' windows application - at least for dde. I do not know if it's sufficiently worth it though. Having all dde calls using SendMessageTimeout is a pretty significant plus though. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=310894&aid=690354&group_id=10894 |