Tcl Source Code

View Ticket
Login
Ticket UUID: 502022
Title: Tcl_AsyncMark doesn't awaken the Notifie
Type: Bug Created on: 2002-01-10 20:32:25
Submitter: davethomas Assigned to: kennykb
Subsystem: 01. Notifier Severity:
Priority: 5 Medium Last modified: 2002-12-11 09:05:35
Status: Open Closed by: dgp
Resolution: Duplicate Closed on: 2002-01-15 13:12:23
Version: obsolete: 8.3.4
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:
davygrvy added on 2002-01-11 12:44:27:
Logged In: YES 
user_id=7549

Same as #502193.

dgp added on 2002-12-11 09:05:35:
Logged In: YES 
user_id=80530

Passing to Notifier maintainer.