小编A.C*_*Cho的帖子

Linux中的atomic_t

我正在研究Robert Love的Linux内核开发Linux内核.

如您所知,本书使用旧版Linux.它是2.6版本

atomic_t有"volatile int counter".但是新Linux版本的atomic_t的"int counter"并不易变.为什么这种挥发性已经消失了?

c linux kernel system

8
推荐指数
1
解决办法
1万
查看次数

关于网络套接字编程中的listen(),accept()(3路握手)

在网络套接字编程中,我知道listen()和accept()做什么.

但是,我想知道的是,在tcp中,3-way,三向握手在哪里发生.

listen()执行3向握手,还是接受()?

我的意思是做syn(客户端)// syn/ack(服务器)// ack(clinet)数据包.

c sockets networking

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

SIG_IGN,SIG_DFL,SIG_ERR的定义

其中<signal.h>有以下定义:

#define SIG_ERR (void (*)())-1

#define SIG_DFL (void (*)())0

#define SIG_IGN (void (*)())1

我认为void (*)()这是一个函数指针,返回类型为void,参数为void(因为括号之间为空)。

但是在signal()函数中,第二个参数类型是void (*func)(int)

那么,为什么上面三件事的定义是void (*)()。而且,-1 0 1定义中的数字是什么意思?

我如何解释这些定义?

c linux signals

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

标签 统计

c ×3

linux ×2

kernel ×1

networking ×1

signals ×1

sockets ×1

system ×1