Tcl Source Code

View Ticket
Login
Ticket UUID: 502022
Title: Tcl_AsyncMark doesn't awaken the Notifie
Type: Bug Version: obsolete: 8.3.4
Submitter: davethomas Created on: 2002-01-10 20:32:25
Subsystem: 01. Notifier Assigned To: kennykb
Priority: 5 Medium Severity:
Status: Open Last Modified: 2002-12-11 09:05:35
Resolution: Duplicate Closed By: dgp
    Closed on: 2002-01-15 13:12:23
Description:
  Tcl Version:  8.3.4
  OS :Unix platforms
  Tcl_AsyncMark doesn't awaken the Notifier (see defect 
 #217934 )

This problem still exists on non-threaded versions of 
Tcl.  Tcl_AlertNotifier does nothing if TCL_THREADS is 
not defined:

void
Tcl_AlertNotifier(clientData)
    ClientData clientData;
{
#ifdef TCL_THREADS
    ThreadSpecificData *tsdPtr = (ThreadSpecificData *) 
clientData;
    Tcl_MutexLock(&notifierMutex);
    tsdPtr->eventReady = 1;
    Tcl_ConditionNotify(&tsdPtr->waitCV);
    Tcl_MutexUnlock(&notifierMutex);
#endif

}

So if Tcl is blocked in a select statement (as in a 
socket event driven application), events posted to the 
Tcl event queue via Tcl_AsyncMark don't get handled 
until an unrelated event kicks Tcl out of the select 
statement.
User Comments: dgp added on 2002-12-11 09:05:35:
Logged In: YES 
user_id=80530

Passing to Notifier maintainer.

davygrvy added on 2002-01-11 12:44:27:
Logged In: YES 
user_id=7549

Same as #502193.