This is an archive of the discontinued LLVM Phabricator instance.

Add handling of async notify packets.
ClosedPublic

Authored by EwanCrawford on Jun 18 2015, 10:00 AM.

Details

Summary

This patch adds a listener to the AynscThread in ProcessGDBRemote, specifically for dealing with any async notification packets.

From the broadcast our listener receives we can process the notify packet from the event data. A handler function then sets the thread stop info from this packet, and updates lldb by setting the process private state to stopped. Allowing the async thread to go back to sleep and getting the main thread to handle the implications of a state change.

When sending a vCont in nonstop mode we also get a different reply from all-stop mode, an OK response as opposed to a stop reply. So a condition is added to handle this and set the process state without the stop-reply data.

Diff Detail

Repository
rL LLVM

Event Timeline

EwanCrawford retitled this revision from to Add handling of async notify packets..
EwanCrawford updated this object.
EwanCrawford edited the test plan for this revision. (Show Details)
EwanCrawford added a reviewer: clayborg.
EwanCrawford set the repository for this revision to rL LLVM.
EwanCrawford added subscribers: Unknown Object (MLST), ted, deepak2427 and 2 others.
clayborg requested changes to this revision.Jun 18 2015, 10:40 AM
clayborg edited edge metadata.

Please remove the whitespace only changes and this will be good to go.

source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
3339 ↗(On Diff #27941)

remove whitespace only changes

3346–3347 ↗(On Diff #27941)

remove whitespace only changes

3352 ↗(On Diff #27941)

remove whitespace only changes

3363 ↗(On Diff #27941)

remove whitespace only changes

3369 ↗(On Diff #27941)

remove whitespace only changes

3383 ↗(On Diff #27941)

remove whitespace only changes

This revision now requires changes to proceed.Jun 18 2015, 10:40 AM
EwanCrawford edited edge metadata.

Thanks for taking a look Greg.

clayborg accepted this revision.Jun 22 2015, 10:24 AM
clayborg edited edge metadata.

Looks good.

This revision is now accepted and ready to land.Jun 22 2015, 10:24 AM
This revision was automatically updated to reflect the committed changes.