* @retval SR_ERR_ARG Invalid argument.
* @retval SR_ERR_MALLOC Memory allocation error.
*/
-static int _sr_session_source_add(GPollFD *pollfd, int timeout,
- sr_receive_data_callback cb, void *cb_data, gintptr poll_object)
+static int _sr_session_source_add(struct sr_session *session, GPollFD *pollfd,
+ int timeout, sr_receive_data_callback cb, void *cb_data, gintptr poll_object)
{
- struct sr_session *session = sr_current_session;
struct source *new_sources, *s;
GPollFD *new_pollfds;
p.fd = fd;
p.events = events;
- return _sr_session_source_add(&p, timeout, cb, cb_data, (gintptr)fd);
+ return _sr_session_source_add(session, &p, timeout, cb, cb_data, (gintptr)fd);
}
/**
{
(void) session;
- return _sr_session_source_add(pollfd, timeout, cb,
+ return _sr_session_source_add(session, pollfd, timeout, cb,
cb_data, (gintptr)pollfd);
}
p.events = events;
#endif
- return _sr_session_source_add(&p, timeout, cb, cb_data, (gintptr)channel);
+ return _sr_session_source_add(session, &p, timeout, cb, cb_data, (gintptr)channel);
}
/**
* @retval SR_ERR_MALLOC Memory allocation error
* @retval SR_ERR_BUG Internal error
*/
-static int _sr_session_source_remove(gintptr poll_object)
+static int _sr_session_source_remove(struct sr_session *session, gintptr poll_object)
{
- struct sr_session *session = sr_current_session;
struct source *new_sources;
GPollFD *new_pollfds;
unsigned int old;
{
(void) session;
- return _sr_session_source_remove((gintptr)fd);
+ return _sr_session_source_remove(session, (gintptr)fd);
}
/**
{
(void) session;
- return _sr_session_source_remove((gintptr)pollfd);
+ return _sr_session_source_remove(session, (gintptr)pollfd);
}
/**
{
(void) session;
- return _sr_session_source_remove((gintptr)channel);
+ return _sr_session_source_remove(session, (gintptr)channel);
}
/** @} */