易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核函数笔记(二)

信号指定处理函数
void (*signal (int signum,void (*handle)(int)))(int);设置某个信号的处理方法
int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);用于检查或改变进程在接到信号时的动作
信号集操作函数
static inline void sigaddset(sigset_t *set,int _sig);
static inline void sigdelset(sigset_t *set,int _sig);
static inline void sigismember(sigset_t *set,int _sig);
static inline void sigfindinword(unsigned long word);
static inline void sigemptyset(sigset_t *set);
static inline void sigfillset(sigset_t *set);
信号阻塞
int sigprocmask(int how,const sigset_t *set,sigset_t *oldset);
int sigpending(sigset_t *set);
int siguspend(const sigset_t *mask);
消息管理函数
int msgget(key_t,int flag);
int msgrcv(int msqid,struct msgbuf *msgp,int msgsz,long mtype,int msgflg);
int msgsnd(int msqid,struct msgbuf *msgp,int msgz,int msgflg);
int msgctl(int msgqid,int cmd,struct msqid_ds *buf);
线程操作函数
线程的创建
int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);
线程取消
void pthread_testcancel(void);
void pthread_cancel(pthread_t thread);
int pthread_setcanceltype(int type,int *oldtype);
线程私有数据
int pthread_key_create(pthread_key_t *_key,void (*_destr_function)(void *_THROW);
int pthreadd_key_delete(pthread_key_t _key) _THROW;
int pthread_setspecific(pthread_key_t _key, _const void *_pointer) _THROW;
void *pthread_getspecific(pthread_key_t _key) THROW;
互斥锁
int pthread_mutex_init (pthread_mutex_t *_testrict _mutex,_const pthread_mutexattr *_restrict _mutex_attr) _THROW;
int pthread_mutex_destroy(pthread_mutex_t *_mutex) _THROW;
int pthread_mutex_trylock(pthread_mutex_t *_mutex) _THROW;
int pthread_mutex_lock(pthread_mutex_t *mutex) _THROW;
int pthread_mutex_unlock(pthread_mutex_t *_mutex) _THROW;
条件变量
int thread_cond_init(pthread_cond_t *_restrict _cond,_const pthread_condattr_t *_restrict _cond_attr) _THROW;
int pthread_cond_destroy(pthread_cond_t *_cond)


相关文档:

linux内核函数笔记(二)

信号指定处理函数
void (*signal (int signum,void (*handle)(int)))(int);设置某个信号的处理方法
int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);用于检查或改变进程在接到信号时的动作
信号集操作函数
static inline void sigaddset(sigset_t *set,int _sig);
static inline voi ......

linux学习指南

前言,Linux/Unix 社区的版块不热闹,新手太多,高手太忙,偶把自己这几年的Linux学习的过程讲讲,希望能给大家有点帮助,
引导初学者学习的方向,少走弯路,事半功倍,同时也是抛砖引玉,请过来人热烈发言。

1. 首先熟悉 Linux

建议在 Windows 上安装 VMware Workstation 6.5.0(以下简称VM), 下载种子在 ......

Linux中文件的压缩与解压缩

对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Hat 6.0,介绍了压缩与解压文件的几种方法与技巧,希望对读者有一定的帮助。
命令:
compress
格式:
compress 选项 文件列表
功能:
用Lempel-ziv压缩方法 ......

Linux发送arp请求与接收arp响应

Linux 中获得本机网卡MAC地址很简单,ioctl()就OK。可如何获得局域网其他主机的MAC地址呢…链路层广播ARP请求,然后接收ARP响应。实现介个功能其实已有现成三方库可用,如libnet。不过想加深对协议的理解和Linux网络编程API的理解,jiayi 还是决定用Linux的PF_PACKET自己实现,改啊改,终于成功~以下是大体思路
1. ......

linux 2.6源代码情景分析笔记之中断与异常4

IDT的初步初始化
在实模式时,idt被初始化并由bios例程使用。一旦linux接管,idt就被移到ram的另一个区域,并进行第二次初始化,因为linux没有利用任何bios例程。
IDT存放在idt_table表中,有256个表项。6字节的idt_descr变量指定了idt的大小和它的地址,只有当内核用lidt汇编指令初始化idtr寄存器时才用到这个变量。
在 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号