1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
|
Tcl_ConditionFinalize(¬ifierCV);
notifierCV = NULL;
/*
* Free all the thread specific data for the notifier now. Since the
* child has no other threads, this data should be completely useless
* at this point. Unfortunately, there is currently no clean way to
* free the thread specific data structures themselves.
*/
for (tsdPtr = waitingListPtr; tsdPtr; tsdPtr = tsdPtr->nextPtr) {
FileHandler *filePtr;
for (filePtr = tsdPtr->firstFileHandlerPtr; filePtr != NULL;
/* NO LOOP UPDATE */) {
FileHandler *nextFilePtr = filePtr->nextPtr;
|
|
<
|
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
|
Tcl_ConditionFinalize(¬ifierCV);
notifierCV = NULL;
/*
* Free all the thread specific data for the notifier now. Since the
* child has no other threads, this data should be completely useless
* at this point.
*/
for (tsdPtr = waitingListPtr; tsdPtr; tsdPtr = tsdPtr->nextPtr) {
FileHandler *filePtr;
for (filePtr = tsdPtr->firstFileHandlerPtr; filePtr != NULL;
/* NO LOOP UPDATE */) {
FileHandler *nextFilePtr = filePtr->nextPtr;
|
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
|
TclpResetLocks();
/*
* Next, abandon the thread specific data for this file. There is no
* clean way to free it; however, it can no longer be used.
*/
dataKey = (Tcl_ThreadDataKey) 0;
/*
* Force the notifier subsystem to be initialized now. This should
* create the notifier thread in this process. Subsequently, that new
* thread will re-open the trigger pipe.
*/
|
>
|
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
|
TclpResetLocks();
/*
* Next, abandon the thread specific data for this file. There is no
* clean way to free it; however, it can no longer be used.
*/
Tcl_UnsetThreadData(&dataKey, sizeof(ThreadSpecificData), 1 /*all */);
dataKey = (Tcl_ThreadDataKey) 0;
/*
* Force the notifier subsystem to be initialized now. This should
* create the notifier thread in this process. Subsequently, that new
* thread will re-open the trigger pipe.
*/
|