@@ -177,18 +177,18 @@ sl_websocket_error_t sl_websocket_connect(sl_websocket_client_t *handle)
177
177
handle -> socket_fd = client_socket ;
178
178
179
179
if (handle -> enable_ssl ) {
180
- socket_return_value = setsockopt (client_socket , SOL_TCP , TCP_ULP , TLS , sizeof (TLS ));
180
+ socket_return_value = sl_si91x_setsockopt (client_socket , SOL_TCP , TCP_ULP , TLS , sizeof (TLS ));
181
181
if (socket_return_value < 0 ) {
182
182
SL_DEBUG_LOG ("\r\nSet socket failed with bsd error: %d\r\n" , errno );
183
- close (client_socket );
183
+ sli_si91x_shutdown (client_socket , SHUTDOWN_BY_ID );
184
184
return SL_WEBSOCKET_ERR_SSL_SETSOCKOPT ;
185
185
}
186
186
}
187
187
188
188
socket_return_value = sl_si91x_bind (client_socket , (struct sockaddr * )& client_address , socket_length );
189
189
if (socket_return_value < 0 ) {
190
190
SL_DEBUG_LOG ("\r\nSocket bind failed with bsd error: %d\r\n" , errno );
191
- close (client_socket );
191
+ sli_si91x_shutdown (client_socket , SHUTDOWN_BY_ID );
192
192
handle -> state = SL_WEBSOCKET_STATE_DISCONNECTED ;
193
193
return SL_WEBSOCKET_ERR_SOCKET_BIND ;
194
194
}
@@ -197,7 +197,7 @@ sl_websocket_error_t sl_websocket_connect(sl_websocket_client_t *handle)
197
197
sli_si91x_socket_t * si91x_socket = sli_get_si91x_socket (client_socket );
198
198
if (!si91x_socket ) {
199
199
SL_DEBUG_LOG ("\r\nFailed to retrieve si91x socket\r\n" );
200
- close (client_socket );
200
+ sli_si91x_shutdown (client_socket , SHUTDOWN_BY_ID );
201
201
handle -> state = SL_WEBSOCKET_STATE_DISCONNECTED ;
202
202
return SL_WEBSOCKET_ERR_SOCKET_CREATION ;
203
203
}
@@ -214,7 +214,7 @@ sl_websocket_error_t sl_websocket_connect(sl_websocket_client_t *handle)
214
214
// Check if memory allocation was successful
215
215
if (si91x_socket -> websocket_info == NULL ) {
216
216
SL_DEBUG_LOG ("\r\nMemory allocation for websocket_info failed\r\n" );
217
- close (client_socket );
217
+ sli_si91x_shutdown (client_socket , SHUTDOWN_BY_ID );
218
218
handle -> state = SL_WEBSOCKET_STATE_DISCONNECTED ;
219
219
return SL_WEBSOCKET_ERR_SOCKET_CREATION ;
220
220
}
@@ -227,10 +227,10 @@ sl_websocket_error_t sl_websocket_connect(sl_websocket_client_t *handle)
227
227
memcpy (si91x_socket -> websocket_info -> websocket_data , handle -> host , host_length );
228
228
memcpy (si91x_socket -> websocket_info -> websocket_data + host_length , handle -> resource , resource_length );
229
229
230
- socket_return_value = connect (client_socket , (struct sockaddr * )& server_address , socket_length );
230
+ socket_return_value = sli_si91x_connect (client_socket , (struct sockaddr * )& server_address , socket_length );
231
231
if (socket_return_value < 0 ) {
232
232
SL_DEBUG_LOG ("\r\nSocket Connect failed with bsd error: %d\r\n" , errno );
233
- close (client_socket );
233
+ sli_si91x_shutdown (client_socket , SHUTDOWN_BY_ID );
234
234
handle -> state = SL_WEBSOCKET_STATE_DISCONNECTED ;
235
235
return SL_WEBSOCKET_ERR_SOCKET_CONNECT ;
236
236
}
@@ -270,7 +270,7 @@ sl_websocket_error_t sl_websocket_send_frame(sl_websocket_client_t *handle,
270
270
si91x_socket -> opcode = send_request -> opcode ;
271
271
272
272
// Send the WebSocket frame
273
- int sent_bytes = send (handle -> socket_fd , send_request -> buffer , send_request -> length , 0 );
273
+ int sent_bytes = sl_si91x_send (handle -> socket_fd , send_request -> buffer , send_request -> length , 0 );
274
274
if (sent_bytes < 0 ) {
275
275
if (errno == ENOBUFS ) {
276
276
return SL_WEBSOCKET_SUCCESS ;
@@ -298,7 +298,7 @@ sl_websocket_error_t sl_websocket_close(sl_websocket_client_t *handle)
298
298
// Update state to closing
299
299
handle -> state = SL_WEBSOCKET_STATE_CLOSING ;
300
300
SL_DEBUG_LOG ("\r\nAttempting to close socket with fd: %d\r\n" , handle -> socket_fd );
301
- int status = close (handle -> socket_fd );
301
+ int status = sli_si91x_shutdown (handle -> socket_fd , SHUTDOWN_BY_ID );
302
302
if (status == 0 ) {
303
303
SL_DEBUG_LOG ("\r\nSocket closed in FW" );
304
304
handle -> socket_fd = -1 ; // Invalidate the socket file descriptor
@@ -325,7 +325,7 @@ sl_websocket_error_t sl_websocket_deinit(sl_websocket_client_t *handle)
325
325
// Close the WebSocket connection if it's still open
326
326
if (handle -> socket_fd >= 0 ) {
327
327
SL_DEBUG_LOG ("\r\nDeinit: Closing socket with fd: %d\r\n" , handle -> socket_fd );
328
- close (handle -> socket_fd );
328
+ sli_si91x_shutdown (handle -> socket_fd , SHUTDOWN_BY_ID );
329
329
handle -> socket_fd = -1 ;
330
330
}
331
331
0 commit comments