I am pasting my answer to the related question here as well as I think it helps/is relevant:
In the old version of libdrizzle you had to just call the query_function function again after telling drizzle about the events that happened using
/**
* Set events that are ready for a connection. This is used with the external
* event callbacks. See drizzle_set_event_watch_fn().
*
* @param[in] con Connection structure previously initialized with
* drizzle_create(), drizzle_clone(), or related functions.
* @param[in] revents Bitfield of poll() events that were detected.
* @return Standard drizzle return value.
*/
DRIZZLE_API
drizzle_return_t drizzle_set_revents(drizzle_st *con, short revents);
However this references drizzle_set_event_watch_fn which was for reasons unknown to me, removed in revesion 56
The function was used by drizzle to tell an external poll mechanism what events it is interested in and when to tell it (using set_revents). Without it problems like described here arise: https://bugs.launchpad.net/libdrizzle/+bug/1220467
I think you can simply wait for everything and just call the function again. Worst case is that you'll get a IO_WAIT return value again. I think ;)
I am going to try exactly this now in any case. Can let you know how it'll go.
I am pasting my answer to the related question here as well as I think it helps/is relevant:
In the old version of libdrizzle you had to just call the query_function function again after telling drizzle about the events that happened using
/** set_event_ watch_fn( ). set_revents( drizzle_ st *con, short revents);
* Set events that are ready for a connection. This is used with the external
* event callbacks. See drizzle_
*
* @param[in] con Connection structure previously initialized with
* drizzle_create(), drizzle_clone(), or related functions.
* @param[in] revents Bitfield of poll() events that were detected.
* @return Standard drizzle return value.
*/
DRIZZLE_API
drizzle_return_t drizzle_
However this references drizzle_ set_event_ watch_fn which was for reasons unknown to me, removed in revesion 56 /bugs.launchpad .net/libdrizzle /+bug/1220467
The function was used by drizzle to tell an external poll mechanism what events it is interested in and when to tell it (using set_revents). Without it problems like described here arise: https:/
I think you can simply wait for everything and just call the function again. Worst case is that you'll get a IO_WAIT return value again. I think ;)
I am going to try exactly this now in any case. Can let you know how it'll go.