• Magne Mahre's avatar
    Bug#11858960 - WINDOWS SERVICE FAILING TO START IMMEDIATELY AFTER · cf2af2bd
    Magne Mahre authored
                   INSTALLATION
    
    When starting mysqld as an MS Windows NT service, it crashed 
    with "Error 1067: The process terminated unexpectedly".
    
    The problem is that thread local variables are not allocated
    and initialized properly when started as a service. When the
    server is started as a regular executable, the problem does
    not occur.
    
    Analysis showed that this is a regression after the patch for 
    Bug#11765237/Bug#11763065.   Before, the thread local storage
    was initialized by the call chain:
    win_main->my_basic_init->my_thread_basic_global_init->
    my_thread_init
    
    When the my_init() structure was changed, this initialization
    was moved from win_main to mysqld_main.   When started as
    a service win_main is run in a separate thread, which does
    not have mysqld_main in its call path, so my_thread_init
    is never called for this thread.
    
    Added a call to my_thread_init / my_thread_end in the service
    handler function, which solves the problem.
    cf2af2bd
mysqld.cc 259 KB