UNIX / Linux信号处理:SIGEV_THREAD(UNIX/Linux signal handling: SIGEV_THREAD)
我在代码中放置了一个简单的信号处理程序。 我已经初始化sigevent结构,并使用处理函数来捕捉信号。
有人可以指出为什么代码不工作? 理想情况下,如果有信号,我的处理程序应该被调用。 但事实并非如此。
请帮助我,谢谢Kingsmasher1
enter code here #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <signal.h> #include <time.h> void my_handler(int sival_int, void* sival_ptr) { printf("my_handler caught\n"); signal(sig,my_handler); } int main() { struct sigevent sevp; sevp.sigev_notify=SIGEV_THREAD; sevp.sigev_signo=SIGRTMIN; sevp.sigev_value.sival_ptr=NULL; sevp.sigev_notify_function=(void*)my_handler; kill(0,SIGRTMIN); // This should invoke the signal and call the function }
I have put a simple signal handler in my code. I have initialised the sigevent structure, with a handler function to catch the signal.
Can someone please pin-point as to why the code is not working? Ideally if there is a signal, my handler should be called. But it is not.
Please help me, Thanks Kingsmasher1
enter code here #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <signal.h> #include <time.h> void my_handler(int sival_int, void* sival_ptr) { printf("my_handler caught\n"); signal(sig,my_handler); } int main() { struct sigevent sevp; sevp.sigev_notify=SIGEV_THREAD; sevp.sigev_signo=SIGRTMIN; sevp.sigev_value.sival_ptr=NULL; sevp.sigev_notify_function=(void*)my_handler; kill(0,SIGRTMIN); // This should invoke the signal and call the function }
原文:https://stackoverflow.com/questions/5153972
更新时间:2022-07-06 20:07
最满意答案
你有没有尝试
parsedJson.extract[MyConfig]
? 这是Extracting values文档中的直接内容。 如果您还没有,则需要指定对默认格式的隐式引用:implicit val formats = DefaultFormats
Have you tried
parsedJson.extract[MyConfig]
? That is straight out of the Extracting values documentation. If you haven't already, you will need to specify an implicit reference to the default formats:implicit val formats = DefaultFormats
相关问答
更多-
反序列化复杂JSON包含继承对象类型的数组(Deserializing complex JSON contain array of inherited object types)[2023-07-30]
这都是关于使用正确的序列化器。 我正在使用DataContractJsonSerializer进行序列化,因此对反序列化进行了相同的操作,并且按预期工作。 RESTResponse rr2 = null; using (MemoryStream ms = new MemoryStream()) { var writer = new StreamWriter(ms); writer.Write(textBox1. ... -
你有没有尝试parsedJson.extract[MyConfig] ? 这是Extracting values文档中的直接内容。 如果您还没有,则需要指定对默认格式的隐式引用: implicit val formats = DefaultFormats Have you tried parsedJson.extract[MyConfig]? That is straight out of the Extracting values documentation. If you haven't alread ...
-
用gson,你可以编写你自己的json阅读器: case class Customer(id: Int, name: String, address: Option[String], city: Option[String], state: Option[String], user_id: Int) object CustomerJsonReader { def read(in: Reader) = readCustomers(new JsonReader(in)) def read ...
-
添加两个新类: public class CustomersWrapper { public IEnumerable
Customers { get; set; } } public class CustomerWrapper { public CustomerDto Customer { get; set; } } 然后将所有现有的代码替换为: var results = JsonConvert.DeserializeObject 反序列化嵌套的JSON(Deserializing nested JSON)[2022-05-01]
在这里工作很好: var res = new HttpClient().GetAsync("https://app.bandsintown.com/events/just_announced?location=San+Francisco%2C+CA&radius=75&per_page=15&authenticate=false").Result; var t = JsonConvert.DeserializeObject(new StreamReader(res.Conten ... 使用JSON.NET将平面JSON对象反序列化为复杂对象(Deserialising a flat JSON object into a complex object using JSON.NET)[2023-06-08]
您不能使用JsonConvert的默认JsonConvert类,因为它无法在复杂类中转换平面json结构。 如果我在你身边,我会将json解析为Dictionary,然后创建你的person类。 像这样的东西: Dictionary values = JsonConvert.DeserializeObject >(json); var person = new Person { ... 1-你应该从你的json文本中删除$ chars 2-根节点不是数组,这就是改变反序列化操作的原因 JsonConvert.DeserializeObject(json2); 3-您可以使用此功能打印名称 - 值对。 private static void printPropertyNameValue(object obj, int intent) { foreach (var property in obj.G ... 听起来你正试图重新发明Json.NET的TypeNameHandling设置 。 由于您没有使用此设置,而是自己序列化CurrentValue的类型名称,因此您需要创建一个自定义JsonConverter来填充PropertyValue并将CurrentValue反序列化为所需类型。 如果没有这个,Json.NET会将当前值反序列化为基元(如long或string )或LINQ to JSON对象(如JObject以获取非原始JSON值。 (后者是带有大括号的字符串值,包含在注释中提到的两个或三个键/值对 ...list.foldLeft(Json.obj())(_ deepMerge _) 这非常有效。 这个答案来自@cchantep对原帖的评论。 list.foldLeft(Json.obj())(_ deepMerge _) This worked perfectly. This answer is from a comment by @cchantep to the original post.根据您的JSON数据,您需要映射的对象必须如下所示(除非您有自己的JsonDeserializer): public class Banner { public string LocationCodeString { get; set; } public int LocationCodeInt { get; set; } public string MediaUrl { get; set; } } public class CampaignWithChosenProposal { ...相关文章
更多- unix、Linux知多少
- unix视频教程
- UNIX编程艺术
- UNIX环境高级编程_第二版中文.pdf
- 《经典软件工程、LINUX/UNIX、Sybase参考手册及系统指南》
- java 程序调用Unix/Linux 中的Shell,然后shell中含中文名的问题
- UNIX和shell程序设计权威教程
- Another MySQL daemon already running with the same unix socket.
- 《iPhone开发视频教程:Linux/Unix下C语言软件开发视频教程》完整版
- 《iPhone开发教程:Linux/Unix下面向对象的C++软件开发视频教程》完整版
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。