Tcl Source Code

View Ticket
Login
Ticket UUID: 67159f33bbd7e3d44aa0dba13e463340970a13e5
Title: epoll notifier and --disable-threads build
Type: Bug Version: 8.7
Submitter: dgp Created on: 2017-08-10 14:15:27
Subsystem: 01. Notifier Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Critical
Status: Closed Last Modified: 2018-05-18 08:31:49
Resolution: Wont Fix Closed By: jan.nijtmans
    Closed on: 2018-05-18 08:31:49
Description:
As implemented, the new epoll notifier makes
direct calls to the pthread_*() system routines.

These routines are not available in a --disable-threads
build, and the notifier fails.

Either we need appropriate build safeguards to prevent
building the epoll notifier in this configuration,
or perhaps the epoll notifier might be re-implemented
making calls to the Tcl_* threading primitives which
might possibly do the right thing in that configuration.
User Comments: jan.nijtmans added on 2018-05-18 08:31:49:

Since TIP #491 is accepted now, --disable-threads builds will be discontinued anyway. Therefore we don't have to fix this any more.


jan.nijtmans added on 2017-08-17 22:59:57:
My suggestion would be: If Tcl is built with --disable-threads, then the epoll notifyer et al could be disabled as well. Since Epoll depends on the pthread functions, I wouldn't want to change the epoll implementation for this.

I'll see if I can give a try on this.

ferrieux added on 2017-08-10 18:06:28:
Yes. The gist of that conversation being whether, in this new notifier, being threaded implies a dedicated extra thread (hence process table entry) or not. If not, the main reason for keeping --disable-threads alive vanishes.

dgp added on 2017-08-10 14:20:07:
I suppose another possible answer is to
end support for --disable-threads building,
but I think we'd want to have a careful
conversation about that.