• unknown's avatar
    Bug #22379 im_daemon_life_cycle.test fails on merge of 5.1 -> 5.1-engines · f91b91cf
    unknown authored
    Remove race situations that occur when removing pidfiles. Primarily each process should remove its own
    pidfile, secondly it should be removed by the process that created it and _only_ if it's
    certain the process is dead. Third, mysql-test-run.pl will remove the pidfile when process has been killed.
    - Set state of an instance to STARTING _before_ calling instance->start()
    - Check that pidfile of instance has been created before changing STARTING => STARTED
    - Only remove the pidfile if IM kills an instance with SIGKILL, otherwise the instance will remove it itself
    
    
    server-tools/instance-manager/guardian.cc:
      If state of an instance is STARTING, chech that the instance pidfile has been created
      before changing state to STARTED
      Set state to STARTING before calling instance->start(), it can take some time
      before it is fully started and during that time it should be in state STARTING
    server-tools/instance-manager/instance.cc:
      Only remove the pid file of instance manager when a SIGKILL has 
      been performed sucessfully
    server-tools/instance-manager/instance_options.cc:
      Check that fscanf returns 1 which is the number of args that should be scanned from
      the pid file
    f91b91cf
instance.cc 16.3 KB