下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
FreeRTOS-Plus-TCP 现具有统一的 IPv4 和 IPv6 功能,支持多接口。
为基于 FreeRTOS 的固件实现防砖化 MCU FOTA:
宣布停止支持 FreeRTOS 202012 LTS。
FreeRTOS 网站现已提供简体中文版本
新的 FreeRTOS Long Term Support 版本现已发布。

FreeRTOS_SignalSocket()

[FreeRTOS-Plus-TCP API 引用]

FreeRTOS_sockets.h
BaseType_t FreeRTOS_SignalSocket( Socket_t xSocket );

BaseType_t FreeRTOS_SignalSocketFromISR( Socket_t xSocket,
                                         BaseType_t *pxHigherPriorityTaskWoken );
		
用于向套接字发送信号,其结果是:任何在读取套接字时被阻塞的任务 将退出阻塞状态(中止 阻塞操作),并且任务的读操作 (FreeRTOS_recv()FreeRTOS_recvfrom()) 会返回 -pdFREERTOS_ERRNO_EINTR。

如果此套接字是某套接字集 (SocketSet_t) 的一部分,则使用该套接字集的 FreeRTOS_select() 调用也会被中断,并 返回 eSELECT_INTR。

FreeRTOS_SignalSocketFromISR() 是 FreeRTOS_SignalSocket() 的一种变体, 可用于中断服务程序 (ISR)。

ipconfigSUPPORT_SIGNALS 必须在 FreeRTOSIPConfig.h 中置为 1, FreeRTOS_SignalSocket() 才可供使用。

参数:

xSocket   信号要发往的套接字。

pxHigherPriorityTaskWoken   [仅用于 FreeRTOS_SignalSocketFromISR()。]

*pxHigherPriorityTaskWoken 必须初始化为 0。

如果向套接字发送信号致使任务解除阻塞状态,并且已解锁任务的优先级高于当前正在运行的任务,则 FreeRTOS_SignalSocketFromISR() 将使 * pxHigherPriorityTaskWoken 置为 pdTRUE 。

如果 FreeRTOS_SignalSocket() 将此值置为 pdTRUE, 则应在中断退出前请求上下文切换 。 用于向 ISR 请求上下文切换的宏名称 取决于移植, 将称为 portYIELD_FROM_ISR() 或 portEND_SWITCHING_ISR()。 请参阅为相关端口所提供的文件和示例 。

返回:

如果 xSocket 不是有效的套接字,则返回 -pdFREERTOS_ERRNO_EINVAL 。 否则将返回 0 。

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