Diff
Not logged in

Differences From Artifact [f64a3eb0b4]:

To Artifact [adee44c3e8]:


98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
98
99
100
101
102
103
104





105
106
107
108
109
110
111







-
-
-
-
-







 *----------------------------------------------------------------------
 */

void
Tcl_AlertNotifier(
    ClientData clientData)
{
#ifdef NOTIFIER_EPOLL
#ifdef HAVE_EVENTFD
    uint64_t eventFdVal;
#endif /* HAVE_EVENTFD */
#endif /* NOTIFIER_EPOLL */
    if (tclNotifierHooks.alertNotifierProc) {
	tclNotifierHooks.alertNotifierProc(clientData);
	return;
    } else {
#ifdef NOTIFIER_SELECT
#ifdef TCL_THREADS
	ThreadSpecificData *tsdPtr = clientData;
124
125
126
127
128
129
130
131

132
133
134
135
136
137
138
119
120
121
122
123
124
125

126
127
128
129
130
131
132
133







-
+







	pthread_cond_broadcast(&tsdPtr->waitCV);
#   endif /* __CYGWIN__ */
	pthread_mutex_unlock(&notifierMutex);
#endif /* TCL_THREADS */
#else
	ThreadSpecificData *tsdPtr = clientData;
#if defined(NOTIFIER_EPOLL) && defined(HAVE_EVENTFD)
	eventFdVal = 1;
	uint64_t eventFdVal = 1;
	if (write(tsdPtr->triggerEventFd, &eventFdVal,
		sizeof(eventFdVal)) != sizeof(eventFdVal)) {
	    Tcl_Panic("Tcl_AlertNotifier: unable to write to %p->triggerEventFd",
		(void *)tsdPtr);
#else
	if (write(tsdPtr->triggerPipe[1], "", 1) != 1) {
	    Tcl_Panic("Tcl_AlertNotifier: unable to write to %p->triggerPipe",