小编jsk*_*ski的帖子

Posix消息队列和命令行?

我正在编写一些代码来替换带有POSIX消息队列的TCP套接字.有时程序会崩溃(仍在开发中),并且不会删除创建的队列(不执行:mq_close()+ mq_unlink()).当我再次运行代码时,这会导致问题.

有没有办法使用命令行删除/删除这些队列?我试过用:ipcs -q.这无法列出任何队列.

我试过了:lsof | grep queue-name.他们确实出现在这里.

理想情况下,我想使用:ipcrm.

linux posix message-queue

10
推荐指数
1
解决办法
5670
查看次数

什么时候调用setsockopt?在bind()和connect()之前?

我继承了一些调用的TCP代码:

bind(tcpSocket, (struct sockaddr*)&server_addr, sizeof(server_addr));
Run Code Online (Sandbox Code Playgroud)

在致电之前

setsockopt(tcpSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,这导致了消息:"地址已在使用中".只需交换调用顺序即可解决问题.

这提出了一个问题:一般来说,是否应该setsockopt()在致电前拨打电话bind()?在打电话之前connect()

sockets linux tcp setsockopt

5
推荐指数
1
解决办法
3124
查看次数

C ++到Ada的指针和异常

我正在面试潜在的软件工程候选人,并希望将这段C ++代码翻译成Ada:

#include <iostream>

int main(int argc, char *argv[])
{
  int *W = NULL;
  try { *W = 3; }
  catch (...) { std::cout << "default exception"; }
}
Run Code Online (Sandbox Code Playgroud)

与C ++代码一样,我希望Ada代码导致“被信号SIGSEGV终止”。

顺便说一句,我正在使用最新的GNAT(GNAT 9.1.1 20190503(Red Hat 9.1.1-1))

c++ ada segmentation-fault

0
推荐指数
1
解决办法
140
查看次数

标签 统计

linux ×2

ada ×1

c++ ×1

message-queue ×1

posix ×1

segmentation-fault ×1

setsockopt ×1

sockets ×1

tcp ×1