Mailing List Archive

[xen-unstable] mini-os: Fix xenbus_switch_state's transaction retry
# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1270624641 -3600
# Node ID 6c833a9ee3c49abf63bc40c63b6eee3dbcaa4ff4
# Parent d7ee309d0e0137c051b464b445f75e5059b181d0
mini-os: Fix xenbus_switch_state's transaction retry

When xenbus_switch_state has to retry the transaction which it just
created, it needs to recreate another one. Clearing xbt triggers it.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
extras/mini-os/xenbus/xenbus.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)

diff -r d7ee309d0e01 -r 6c833a9ee3c4 extras/mini-os/xenbus/xenbus.c
--- a/extras/mini-os/xenbus/xenbus.c Wed Apr 07 08:16:15 2010 +0100
+++ b/extras/mini-os/xenbus/xenbus.c Wed Apr 07 08:17:21 2010 +0100
@@ -154,8 +154,10 @@ char *xenbus_switch_state(xenbus_transac
msg = xenbus_write(xbt, path, value);

exit:
- if (xbt_flag)
+ if (xbt_flag) {
msg2 = xenbus_transaction_end(xbt, 0, &retry);
+ xbt = XBT_NIL;
+ }
if (msg == NULL && msg2 != NULL)
msg = msg2;
} while (retry);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog