mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-02 20:08:17 +00:00
utils: Add convenience function for setting fd flags
There are many places in the code base where we ignore the return value of fcntl() when getting/setting file descriptior flags. This patch introduces a convenience function that allows setting or clearing file descriptor flags and will also log an error on failure for later analysis. Change-Id: I8b81901e1b1bd537ca632567cdb408931c6eded7
This commit is contained in:
@@ -951,17 +951,11 @@ static struct ast_http_uri websocketuri = {
|
||||
/*! \brief Simple echo implementation which echoes received text and binary frames */
|
||||
static void websocket_echo_callback(struct ast_websocket *session, struct ast_variable *parameters, struct ast_variable *headers)
|
||||
{
|
||||
int flags, res;
|
||||
int res;
|
||||
|
||||
ast_debug(1, "Entering WebSocket echo loop\n");
|
||||
|
||||
if ((flags = fcntl(ast_websocket_fd(session), F_GETFL)) == -1) {
|
||||
goto end;
|
||||
}
|
||||
|
||||
flags |= O_NONBLOCK;
|
||||
|
||||
if (fcntl(ast_websocket_fd(session), F_SETFL, flags) == -1) {
|
||||
if (ast_fd_set_flags(ast_websocket_fd(session), O_NONBLOCK)) {
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user