From: <no...@so...> - 2001-12-04 22:38:20
|
Bugs item #217934, was opened at 2000-10-25 17:46 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=217934&group_id=10894 Category: 04. Async Events Group: = 8.2.1 Status: Closed Resolution: Fixed Priority: 2 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: Tcl_AsyncMark doesn't appear to wake the notifier under UNIX Initial Comment: OriginalBugID: 3423 RFE Version: 8.2.1 SubmitDate: '1999-11-05' LastModified: '2000-04-04' Severity: MED Status: Closed Submitter: techsupp ChangedBy: hobbs RelatedBugIDs: 3862 4826 OS: Windows NT OSVersion: 5.00.2128 FixedDate: '2000-10-25' ClosedDate: '2000-04-04' Name: David Gravereaux Comments: Could someone verify this? DesiredBehavior: TclpAsyncMark is #define'd out in tclUnixPort.h and thus has no way to awake select() in Tcl_WaitForEvents (should the notifier be blocked). I can't verify that this is true as I only spotted it reading the source and don't program for unix. If this is true, I was wondering if a TclpAsyncMark could be added that would generate a proper signal to awake the blocking select? ---------------------------------------------------------------------- >Comment By: David Gravereaux (davygrvy) Date: 2001-12-04 14:38 Message: Logged In: YES user_id=7549 This is fixed in 8.4a2+ (around august 2000) and was also merged down to 8.3.4 (around august 2001). ---------------------------------------------------------------------- Comment By: Dave Thomas (davethomas) Date: 2001-12-04 07:18 Message: Logged In: YES user_id=393111 We have been using a work-around for this bug for a couple of years now. On unix, the notifier is not awakened by a Tcl_AsyncMark if it's blocked in a select statement. For example, if the application is driven by socket events, events posted using Tcl_AsyncMark won't be executed until the next socket readable event occurs. So on unix, we always do a dummy write to a socket that we've bound a "dummy" handler. The handler simply reads the socket and returns, but then the notifier processes the "real" event that we posted via Tcl_AsyncMark. But this work around DOUBLES, the number of socket events that would otherwise need to be handled. We're still using 8.3.0. I can find no indication that this bug has been fixed in later releases. What is the status? Is there a fix or patch? Thanks, Dave Thomas ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2001-06-29 11:56 Message: Logged In: NO Has this bug been fixed? If so, what release. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=217934&group_id=10894 |