)]}'
{
  "commit": "6a4677b723b6f79997ca15ee202c36d528d3dfcf",
  "tree": "d1928cd0835791b91870bfb9e4fb9eea3c75b07b",
  "parents": [
    "577ac57b78e0ee3cbc5afdb5f54a660bd0126136"
  ],
  "author": {
    "name": "Jorge Boncompte [DTI2]",
    "email": "jorge@dti2.net",
    "time": "Mon May 07 16:53:07 2012 +0000"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Tue May 22 20:35:47 2012 +0200"
  },
  "message": "bgpd: optimize holdtime timer cancelling\n\n* bgp_packet.c: (bgp_update_receive) for every update received we queue\n  an event just to cancel the holdtime timer, done in bgp_fsm_update().\n  Instead cancel the timer directly an avoid a scheduling pass.\n\n  This incidently fixes another problem found on a slow box, where thousands\nof events threads were queued, and run, but never freed, because they are\nmoved to the unused list that grows without bounds.\n\nSigned-off-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfa0b57cb0f9a156d701f10ede4ace68c74a9b5d",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_packet.c",
      "new_id": "024f5e7be64fbfbc5ab3eb54f16a2897d4030fd7",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_packet.c"
    }
  ]
}
