49 lines
1.4 KiB
Diff
49 lines
1.4 KiB
Diff
|
# HG changeset patch
|
||
|
# Parent f08959fb7528e1724e26365973914ae3e0af78ea
|
||
|
xenpaging: improve mainloop exit handling
|
||
|
|
||
|
Remove the if/else logic to exit from the in case a signal arrives.
|
||
|
Update comments.
|
||
|
|
||
|
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
||
|
|
||
|
---
|
||
|
tools/xenpaging/xenpaging.c | 16 +++++++++-------
|
||
|
1 file changed, 9 insertions(+), 7 deletions(-)
|
||
|
|
||
|
Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
|
||
|
===================================================================
|
||
|
--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
|
||
|
+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
|
||
|
@@ -805,7 +805,7 @@ int main(int argc, char *argv[])
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- /* Write all pages back into the guest */
|
||
|
+ /* If interrupted, write all pages back into the guest */
|
||
|
if ( interrupted == SIGTERM || interrupted == SIGINT )
|
||
|
{
|
||
|
/* If no more pages to process, exit loop. */
|
||
|
@@ -814,13 +814,15 @@ int main(int argc, char *argv[])
|
||
|
|
||
|
/* One more round if there are still pages to process. */
|
||
|
resume_pages(paging, paging->num_paged_out);
|
||
|
+
|
||
|
+ /* Resume main loop */
|
||
|
+ continue;
|
||
|
}
|
||
|
- else
|
||
|
- {
|
||
|
- /* Exit on any other signal */
|
||
|
- if ( interrupted )
|
||
|
- break;
|
||
|
- }
|
||
|
+
|
||
|
+ /* Exit main loop on any other signal */
|
||
|
+ if ( interrupted )
|
||
|
+ break;
|
||
|
+
|
||
|
}
|
||
|
DPRINTF("xenpaging got signal %d\n", interrupted);
|
||
|
|