Download FreeRTOS
 

Quality RTOS & Embedded Software

LIBRARIES
WHAT'S NEW
Simplifying Authenticated Cloud Connectivity for Any Device.
Designing an energy efficient and cloud-connected IoT solution with CoAP.
Introducing FreeRTOS Kernel version 11.0.0:
FreeRTOS Roadmap and Code Contribution process.
OPC-UA over TSN with FreeRTOS.

FreeRTOS_SignalSocket()

[FreeRTOS-Plus-TCP API Reference]

FreeRTOS_sockets.h
BaseType_t FreeRTOS_SignalSocket( Socket_t xSocket );

BaseType_t FreeRTOS_SignalSocketFromISR( Socket_t xSocket,
                                         BaseType_t *pxHigherPriorityTaskWoken );
		
Used to send a signal to a socket, the result of which is that any task blocked on a read from the socket will leave the Blocked state (abort the blocking operation), with the task's read operation (FreeRTOS_recv() or FreeRTOS_recvfrom()) returning -pdFREERTOS_ERRNO_EINTR.

If the socket is part of a socket set (SocketSet_t), the call to FreeRTOS_select() using that socket set, will also get interrupted and return eSELECT_INTR.

FreeRTOS_SignalSocketFromISR() is a version of FreeRTOS_SignalSocket() that can be used from an interrupt service routine (ISR).

ipconfigSUPPORT_SIGNALS must be set to 1 in FreeRTOSIPConfig.h for FreeRTOS_SignalSocket() to be available.

Parameters:

xSocket   The socket to which the signal is being sent.

pxHigherPriorityTaskWoken   [FreeRTOS_SignalSocketFromISR() only.]

*pxHigherPriorityTaskWoken must be initialised to 0.

FreeRTOS_SignalSocketFromISR() will set *pxHigherPriorityTaskWoken to pdTRUE if sending the signal to the socket caused a task to unblock, and the unblocked task has a priority higher than the currently running task.

If FreeRTOS_SignalSocket() sets this value to pdTRUE then a context switch should be requested before the interrupt is exited. The name of the macro used to request a context switch from an ISR is dependent on the port, and will be called either portYIELD_FROM_ISR() or portEND_SWITCHING_ISR(). Refer to the documentation and examples provided for the port in use.

Returns:

If xSocket is not a valid socket then -pdFREERTOS_ERRNO_EINVAL is returned. Otherwise 0 is returned.

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.