Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-2857

Provide a reset method to be called on clients after forking

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 1.14.0
    • Affects Version/s: None
    • Component/s: libmongoc
    • Labels:
      None

      When user code forks, various resources in the client need to be protected against parallel use in both the parent and the child code.  These include the following:

      sessions:

      • ensure we don't call endSessions for lsids the parent process might be using
      • ensure we don't use such lsids at all, for any operations, in the child

      cursors:

      • ensure we don't call killCursors for cursors the parent process might be using
      • ensure we don't call getmores on such cursors, either

      connections:

      • close all client connections in the child, so we don't write to the same sockets as the parent

       

      See DRIVERS-578 for more details.

            Assignee:
            samantha.ritter@mongodb.com Samantha Ritter (Inactive)
            Reporter:
            rathi.gnanasekaran Rathi Gnanasekaran
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: