Opened 14 years ago

Closed 14 years ago

#137 closed defect (fixed)

Only one udebug session is possible, subsequent attempts fail.

Reported by: Tomas Brambora Owned by: Jiri Svoboda
Priority: major Milestone: 0.4.2
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:


Once an udebug session has finished, TASK→kb.finished is set to true,
which prevents any subsequent attempts to start a new session.

I believe that's rather a bug than a desired feature.

Change History (1)

comment:1 by Jiri Svoboda, 14 years ago

Resolution: fixed
Status: newclosed

Not exactly. TASK→kb.finished was not set to NULL at the end of debugging session. Actually it was the test in kbox_proc_phone_hungup() which was broken. (A nice example of C's 'perfect' type checking. I was comparing a pointer and a boolean false). This was always evaluated to true, which meant kb.thread did not get reset to NULL. (Come to think of it, I cannot remember anymore why I am only detaching the thread unless the task is already terminating…) In the end a kbox thread would not get created when another debugging session started, which caused udebug_begin() to never finish.

Fixed in changeset:head,122.

Note: See TracTickets for help on using tickets.