下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

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.