建立一个邮箱,OSMboxCreate()

2024-06-19 14:08
文章标签 osmboxcreate 邮箱 建立

本文主要是介绍建立一个邮箱,OSMboxCreate(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序清单 L6.14OSMboxCreate()函数的源代码,基本上和函数OSSemCreate()相似。不同之处在于事件控制块的类型被设置成OS_EVENT_TYPE_MBOX[L6.14(1)],以及使用.OSEventPtr域来容纳消息指针,而不是使用.OSEventCnt域[L6.14(2)]。

OSMboxCreate()函数的返回值是一个指向事件控制块的指针[L6.14(3)]。这个指针在调用函数OSMboxPend(),OSMboxPost(),OSMboxAccept()和OSMboxQuery()时使用。因此,该指针可以看作是对应邮箱的句柄。值得注意的是,如果系统中已经没有事件控制块可用,函数OSMboxCreate()将返回一个NULL指针。

邮箱一旦建立,是不能被删除的。比如,如果有任务正在等待一个邮箱的信息,这时删除该邮箱,将有可能产生灾难性的后果。

 

程序清单 L6.14 建立一个邮箱

OS_EVENT *OSMboxCreate (void *msg)

{

    OS_EVENT *pevent;

 

 

    OS_ENTER_CRITICAL();

    pevent = OSEventFreeList;

    if (OSEventFreeList != (OS_EVENT *)0) {

        OSEventFreeList = (OS_EVENT *)OSEventFreeList->OSEventPtr;

    }

    OS_EXIT_CRITICAL();

    if (pevent != (OS_EVENT *)0) {

        pevent->OSEventType = OS_EVENT_TYPE_MBOX;                     (1)

        pevent->OSEventPtr  = msg;                                    (2)

        OSEventWaitListInit(pevent);

    }

    return (pevent);                                                  (3)

}

 

这篇关于建立一个邮箱,OSMboxCreate()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075241

相关文章

Python利用qq邮箱发送通知邮件(已封装成model)

因为经常喜欢写一些脚本、爬虫之类的东西,有需要通知的时候,总是苦于没有太好的通知方式,虽然邮件相对于微信、短信来说,接收性差了一些,但毕竟免费,而且支持html直接渲染,所以,折腾了一个可以直接使用的sendemail模块。这里主要应用的是QQ发邮件,微信关注QQ邮箱后,也可以实时的接收到消息,肾好! 好了,废话不多说,直接上代码。 # encoding: utf-8import lo

1,Bochs 建立自己的配置文件

1,安装bochs 2.6.9时,附带安装dlxlinux,在安装目录存在dlxlinux文件夹:包含bochsrc.bxrc文件和hd10meg.img; 打开bochsrc.bxrc文件,这里面有2个重要的地方# what disk images will be used floppya: 1_44=floppya.img, status=inserted floppya.img就是要加

利用阿里云服务器建立简单的个人博客

感谢阿里云9.9服务器学生计划,让我有机会实现自己小时候的梦想。为了能够写出这篇教程,我就默默把服务器(Ubuntu14.04 64位)重置了,从头开始。你可以查看下网页效果。 克隆git远程库 由于服务器刚刚重置,属于全新的,所以没有装git。 ~# sudo apt-get update #获取最新软件包~# sudo apt-get upgrade # 执行更新操作。~# sudo

【java问答小知识19】一些Java基础的知识,用于想学习Java的小伙伴们建立一些简单的认知以及已经有经验的小伙伴的复习知识点

Java中的"java.util.concurrent.locks.StampedLock"的"tryConvertToReadLock()"方法如何工作? 回答:尝试将当前的写锁转换为读锁,并返回一个表示锁定状态的戳记。 Java中的"java.util.concurrent.locks.StampedLock"的"tryConvertToWriteLock()"方法有什么特点?

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法

在连接数据库的时候出现了下面图面中的错误,尝试集中方法后终于解决了这个问题。 1.修改驱动程序版本 出现这种错误可能是因为你的驱动程序版本不兼容,我们可以尝试修改版本解决。而我们的驱动程序往往是以依赖的形式导入,因此可以在maven仓库查找你的数据库对应的驱动程序,选择一个数据库能够兼容的版本导入。 maven仓库官网:https://mvnrepository.com/ 2.在 VM opt

网易:从邮箱服务到多元化互联网业务的跨越式发展

网易,这个在中国互联网发展史上留下浓墨重彩一笔的名字,自1997年由丁磊先生创立以来,已经走过了二十余载的风雨历程。从最初的一家单纯的邮箱服务提供商,到如今涵盖游戏、电商、教育、音乐等多个领域的综合性互联网巨头,网易的成长轨迹不仅映射出中国互联网行业的蓬勃发展,也彰显了其自身不懈的创新精神和卓越的市场洞察力。 网易的起点并不显赫,却充满了创新的火花。在那个互联网刚刚起步的时代,网易邮箱凭借其

Windows11系统自动获取电脑IPV6地址,并且开机自动发送到指定邮箱

废话:最近放假回家,在家里突然想玩游戏了,Steamdeck性能终归有限。部分游戏始终玩的不爽,想到之前了解到的Sunshnie+Moonlight串流的方案,远程调用家里的电脑打游戏,简直不要太爽。 一顿折腾之后配置好了所有的软件,使用IPV6连接,体验确实不错。但遇到一个问题,家里的电脑每次重新启动IPV6的地址都会变,这样每次需要使用远程桌面连接上去拿一下IPV6地址,非常麻烦。这里有两个解

Cyberdog GPTS建立过程笔记

标题: Xiaomi Cyberdog 简介: Knowledge from Cyberdog's GitBook & part of GitHub source & lqxuezhang.cn. Knowledge captured on June 21st, 2024. Editor链接(PlusAI的GPTS专用账号): https://cc01.plusai.io/gpts/editor/

逆向学习网络篇:通过Socket建立连接并传输数据

本节课在线学习视频(网盘地址,保存后即可免费观看): ​​https://pan.quark.cn/s/992f89f6f1f4​​ 在网络编程中,Socket是一种提供不同计算机之间通信的机制。通过Socket,我们可以建立客户端和服务器之间的连接,并实现数据的传输。本文将详细介绍如何使用Socket在客户端和服务器之间建立连接,并进行数据传输。我们将通过几个代码案例来展示这一过程。 1.

Huffman树的建立、字符界面下的显示及序列化(一)

本文主要是Clifford A. Shaffer所著的《Data Structures and Algorithm Analysis in C++》一书中项目设计习题5.7的实现。 Huffman树是一种可以用来压缩文件的技术。为在计算机上存取文件,需要为文件中的每个字符分配一个编码,一般情况下,每个字符的编码长度相同。例如,每个ASCII字符的编码长度为8位。那么,保存一个有着1000个字符的