Tcl Source Code

Ticket Change Details
Login
Overview

Artifact ID: ed97306e5a1088d0e4804285a0ac72d036f6876e
Ticket: f4f44174e4c88a9132b19bcc4b68346a1d229fe1
protect notifier against signals
User & Date: aspect 2016-12-07 02:13:26
Changes

  1. icomment:
    I was just about to report that handling EINTR in File{In,Out}putProc doesn't eliminate the deadlock, it just pushes it out later (with a different stack trace, but this is whack-a-mole).
    
    The interesting part of this trace seems to be:
    
    #10 0x00007f4bba9a95cc in TclChannelEventScriptInvoker (clientData=0x2030f28, mask=2) at generic/tclIO.c:8866
    #11 0x00007f4bba9a8e03 in Tcl_NotifyChannel (channel=0x2046e58, mask=2) at generic/tclIO.c:8360
    #12 0x00007f4bba9a9003 in ChannelTimerProc (clientData=0x2046e58) at generic/tclIO.c:8526
    #13 0x00007f4bba9f67aa in TimerHandlerEventProc (evPtr=0x1f93d68, flags=-3) at generic/tclTimer.c:593
    
    
    
    > POSIX does not list pthread_mutex_(unlock|lock)() as async signal safe functions.
    
    Can you give me a source?  I'd like to understand this better .. the Linux manual states:
    
    > These functions shall not return an error code of [EINTR].
    
    Feel free to ping me on chat for an email address to take this discussion off-ticket where we can be more verbose and tangential if you like :)
    
  2. login: "aspect"
  3. mimetype: "text/plain"