)]}'
{
  "commit": "faaf85c5e7163a49e68842487fdf9e6036178f7e",
  "tree": "6f6a19dc727157d4120e84c987b50496149fd637",
  "parents": [
    "f10524d9f00532af873f9309e59c95b5245c433d"
  ],
  "author": {
    "name": "Jacob Moroni",
    "email": "jmoroni@google.com",
    "time": "Thu Jul 03 02:57:18 2025 +0000"
  },
  "committer": {
    "name": "Nicolas Morey",
    "email": "nmorey@suse.com",
    "time": "Wed Aug 06 08:13:24 2025 +0200"
  },
  "message": "rping: terminate CM event thread before exiting\n\n[ Upstream commit f3ae6534ad93c4f1aca7374d9a75f61b790fa03c ]\n\nThe CM event thread processes events in a loop with no explicit\ntermination. When the last CM event is received, the main thread\nproceeds to clean up and destroy the CM event channel. If this occurs\nafter the CM event thread has processed the last event, but before it\nreaches rdma_get_cm_event again, then the subsequent call to\nrdma_get_cm_event will fail and cause the process to exit with a failure\ncode even though the test was actually successful.\n\nThis causes flakiness in test scripts that use rping for basic\nfunctional testing.\n\nFix this by using an eventfd+poll to explicitly signal the CM event\nthread for termination.\n\nTested by running 4096 parallel rping processes.\n\nFixes: 6f640ff (\"r7019: Introduce event channels.\")\nSigned-off-by: Jacob Moroni \u003cjmoroni@google.com\u003e\nSigned-off-by: Nicolas Morey \u003cnmorey@suse.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9401cf1faf8193a868d0b19b35dd5f43a5832723",
      "old_mode": 33188,
      "old_path": "librdmacm/examples/rping.c",
      "new_id": "4f0b3f9e6eb110f195fcf7da71c226e5ae9eaca4",
      "new_mode": 33188,
      "new_path": "librdmacm/examples/rping.c"
    }
  ]
}
