|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 1/3] python: Add binding for xs_fileno()
xs_fileno() returns a file descriptor which receives events when Xenstore
watches fire. Exposing this in the Python bindings is a prerequisite
for writing event-driven clients in Python.
Signed-off-by: Euan Harris <euan.harris@xxxxxxxxxx>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Changed since v2:
* Use PyLong_FromLong instead of PyInt_FromLong
---
tools/python/xen/lowlevel/xs/xs.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tools/python/xen/lowlevel/xs/xs.c
b/tools/python/xen/lowlevel/xs/xs.c
index aba5a20..3a827b0 100644
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -453,6 +453,25 @@ static PyObject *xspy_watch(XsHandle *self, PyObject *args)
}
+#define xspy_fileno_doc "\n" \
+ "Return the FD to poll for notifications when watches fire.\n" \
+ "Returns: [int] file descriptor.\n" \
+ "\n"
+
+static PyObject *xspy_fileno(XsHandle *self)
+{
+ struct xs_handle *xh = xshandle(self);
+ int fd;
+
+ if (!xh)
+ return NULL;
+
+ fd = xs_fileno(xh);
+
+ return PyLong_FromLong(fd);
+}
+
+
#define xspy_read_watch_doc "\n" \
"Read a watch notification.\n" \
"\n" \
@@ -887,6 +906,7 @@ static PyMethodDef xshandle_methods[] = {
XSPY_METH(release_domain, METH_VARARGS),
XSPY_METH(close, METH_NOARGS),
XSPY_METH(get_domain_path, METH_VARARGS),
+ XSPY_METH(fileno, METH_NOARGS),
{ NULL /* Sentinel. */ },
};
--
1.8.3.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |