1. 24 Jul, 2017 2 commits
    • Yann Ylavic's avatar
      event: Avoid possible blocking in the listener thread when shutting down · df4fbcf4
      Yann Ylavic authored
      connections. PR 60956.
      
      start_lingering_close_nonblocking() now puts connections in defer_linger_chain
      which is emptied by any worker thread (all atomically) after its usual work,
      hence the possibly blocking flush and lingering close run outside the listener.
      
      The listener may create a dedicated worker it fills defer_linger_chain or while
      it's not empty, calling push2worker with a NULL cs.
      
      The state machine in process_socket() slighly modified to be able to enter with
      CONN_STATE_LINGER directly w/o clogging_input_filters to possibly interfer.
      
      New abort_socket_nonblocking() allows to reset connections when nonblocking is
      required and we can't do much about the connection anymore, nor want the system
      to linger on its own after close().
      
      Many thanks to Stefan Priebe for it heavy testing on many event's changes!
      
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1802875 13f79535-47bb-0310-9956-ffa450edef68
      df4fbcf4
    • Jim Jagielski's avatar
      Make sure updatelbstatus() is NULL · fc6119c3
      Jim Jagielski authored
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1802845 13f79535-47bb-0310-9956-ffa450edef68
      fc6119c3
  2. 22 Jul, 2017 2 commits
  3. 21 Jul, 2017 1 commit
  4. 20 Jul, 2017 1 commit
  5. 19 Jul, 2017 1 commit
  6. 18 Jul, 2017 5 commits
  7. 16 Jul, 2017 13 commits
  8. 14 Jul, 2017 4 commits
  9. 13 Jul, 2017 2 commits
  10. 12 Jul, 2017 8 commits
  11. 11 Jul, 2017 1 commit
    • Evgeny Kotkov's avatar
      mpm_winnt: Advertise support for preshutdown notifications in the service, · 70c97d70
      Evgeny Kotkov authored
      and perform shutdown in respond to SERVICE_CONTROL_PRESHUTDOWN.
      
      The pure shutdown notification leaves a small amount of time for the service
      to finish (and the allowed amount of time has been shrinking with every new
      version of Windows), and handling only it increases the chance of the process
      being killed by SCM, instead of gracefully shutting down.  Handling the
      preshutdown control code extends this period, and increases the chances of
      finishing everything properly when the machine is rebooted or shut down.
      
      (See https://msdn.microsoft.com/en-us/library/windows/desktop/ms683241)
      
      Please note that although the preshutdown notifications are available only
      starting from Windows Vista, the code is compatible with the previous versions
      of Windows, since the SCM ignores unknown SERVICE_ACCEPT codes, and will
      still send an ordinary SERVICE_CONTROL_SHUTDOWN under old Windows
      versions.
      
      
      git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1801659 13f79535-47bb-0310-9956-ffa450edef68
      70c97d70