|
| From: | Paolo Bonzini |
| Subject: | [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat" |
| Date: | Wed, 21 Oct 2009 20:38:14 +0200 |
| User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20091014 Fedora/3.0-2.8.b4.fc11 Lightning/1.0pre Thunderbird/3.0b4 |
At every word of the sigset (using gdb commands to disable/enable the watchpoints around the sigfillset, you avoid spurious triggers).Not sure how do you mean. When would I enable the watchpoint?
301 static void *aio_thread(void *unused)
302 {
303 pid_t pid;
304 static sigset_t set;
305
306 /* block all signals */
...
312 if (sigfillset(&set)) die("sigfillset");
....
315 pid = getpid();
316
317 while (1) {
b 312 // sets bp 1
p ((long *)&set // prints $1
watch $1[0] // sets bp 2..9
watch $1[1]
watch $1[2]
watch $1[3]
watch $1[4]
watch $1[5]
watch $1[6]
watch $1[7] // only 1/4 of the sigset!
// stop earlier if it starts
// assigning non-hardware watchpoints
// try again with 8..15 if not enough
// up to $1[31]
commands 1 // don't break on next sigfillset
dis 2
dis 3
dis 4
dis 5
dis 6
dis 7
dis 8
dis 9
c // and continue
end
b 315 // sets bp 10
commands 10 // re-enable after sigfillset
ena 2
ena 3
ena 4
ena 5
ena 6
ena 7
ena 8
ena 9
c // run body of aio_thread
end
c // run into aio_thread
Paolo
| [Prev in Thread] | Current Thread | [Next in Thread] |