Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-10385

Refactor threadpool (move common logic out of platform specific files into shared code)

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.2.2
    • Component/s: OTHER
    • Labels:
      None

      Description

      In light of adding priorities to threadpool (MDEV-10297), it would be good to have common code/logic shared by windows and unix implementations.

      Specifically, it would be very helpful to have a single callback function, that is called when new connection is queued or when client IO arrives. That callback would also do a proper cleanup in case of error/quit, for both THD and scheduler specific structures.

      The code would be similar to handle_event()
      https://github.com/MariaDB/server/blob/10.1/sql/threadpool_unix.cc#L1437

      But, for this code to be in threadpool_common.cc, we need to expose some platform/imple functionality (start_io / set_wait_timeout, connection_t struct) somehow.

        Attachments

          Activity

            People

            Assignee:
            wlad Vladislav Vaintroub
            Reporter:
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration