[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen staging] python: do not report handled EAGAIN error



commit ee463ef4e067773c94b0e3266e0838ce93ac5ef6
Author:     Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
AuthorDate: Tue Aug 20 04:12:41 2019 +0200
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Aug 21 12:10:38 2019 +0100

    python: do not report handled EAGAIN error
    
    match_watch_by_token() when returns an error, sets also exception within
    python. This is generally the right thing to do, but when
    xspy_read_watch() handle EAGAIN error internally, the exception needs to
    be cleared. Otherwise it will fail like this:
    
        xen.lowlevel.xs.Error: (11, 'Resource temporarily unavailable')
    
        The above exception was the direct cause of the following exception:
    
        Traceback (most recent call last):
          (...)
            result = self.handle.read_watch()
        SystemError: <method 'read_watch' of 'xen.lowlevel.xs.xs' objects> 
returned a result with an error set
    
    Fixes f6e1023412 "python: Extract registered watch search logic from 
xspy_read_watch()"
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
    Acked-by: Wei Liu <wl@xxxxxxx>
---
 tools/python/xen/lowlevel/xs/xs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/python/xen/lowlevel/xs/xs.c 
b/tools/python/xen/lowlevel/xs/xs.c
index ea50f86bc3..621039d7a7 100644
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -531,6 +531,7 @@ again:
     free(xsval);
 
     if (!val && errno == EAGAIN) {
+        PyErr_Clear();
         goto again;
     }
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.