38 lines
475 B
C
38 lines
475 B
C
|
|
||
|
#include "conn.h"
|
||
|
#include "cw_util.h"
|
||
|
|
||
|
|
||
|
struct cwrmsg * conn_wait_for_message(struct conn * conn, time_t timer)
|
||
|
{
|
||
|
struct cwrmsg * cwrmsg;
|
||
|
|
||
|
|
||
|
while (!cw_timer_timeout(timer)){
|
||
|
cwrmsg = conn_get_message(conn);
|
||
|
|
||
|
if (!cwrmsg){
|
||
|
if (!conn_is_error(conn))
|
||
|
continue;
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
if (cwrmsg->type & 1){
|
||
|
if (conn->request_handler){
|
||
|
if (conn->request_handler(conn->request_handler_param))
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
return cwrmsg;
|
||
|
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|