Skip to content
  • Jose Fonseca's avatar
    c11/threads: Don't implement thrd_current on Windows. · a61d8595
    Jose Fonseca authored
    
    
    GetCurrentThread() returns a pseudo-handle (a constant which only makes
    sense when used within the calling thread) and not a real handle.
    
    DuplicateHandle() will return a real handle, but it will create a new
    handle every time we call.  Calling DuplicateHandle() here means we will
    leak handles, which can cause serious problems.
    
    In short, the Windows implementation of thrd_t needs a thorough make
    over, and it won't be pretty.  It looks like C11 committee
    over-simplified things: it would be much better to have seperate objects
    for threads and thread IDs like C++11 does.
    
    For now, just comment out the thrd_current() implementation, so we get
    build errors if anybody tries to use it.
    
    Thanks to Brian Paul for spotting and diagnosing this problem.
    
    Cc: "10.0" "10.1" <mesa-stable@lists.freedesktop.org>
    Reviewed-by: default avatarBrian Paul <brianp@vmware.com>
    a61d8595