Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-4265

Provide per EThread and per event type thread initialization.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 7.1.0
    • Core
    • None

    Description

      As far as I can tell, EThread::schedule_spawn is is not used and is just a crippled version of EThread::schedule_imm without the optional arguments.

      It would be better to make this call provide a mechanism to schedule continuations that are called when a thread is spawned. This enable a lot of cleanup of some very ugly thread initialization logic while at the same time avoiding potential ugly race conditions. For instance NetHandler is initialized in each thread after the thread is already running but before (hopefully) any I/O events arrive. It would be much cleaner to do that in a thread spawn event. Further this would decouple some initialization logic and thread logic (as in this case) - the initalization logic would no longer need to know anything about thread start up other than EThread::schedule_spawn.

      Attachments

        Issue Links

          Activity

            People

              amc Alan M. Carroll
              amc Alan M. Carroll
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: