mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
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@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Reviewed-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
This commit is contained in:
1 parent
664adc5cca
commit
43fd62ce16
1 file changed
+20
@@ -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. */ },
|
||||
};
|
||||
|
||||
|
||||