易截截图软件、单文件、免安装、纯绿色、仅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 Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

Linux 项目管理软件(svn & git……)代理设置

1.svn:
~$ vi ~/.subversion/servers
[global]
http-proxy-host = xxx.xxx.xxx.xxx
http-proxy-port = xxxx
2.git
~$ wget http://www.meadowy.org/~gotoh/ssh/connect.c
~$ gcc -o connect connect.c
~$ sudo cp connect /usr/local/bin
~$ sudo vi /usr/local/bin/http-proxy-gw
#!/bin/sh
/usr/local/bin/con ......

Linux内核及ARM的内存管理

一个人勃一次不难,难的是勃一辈子……
最近分心的事很多,勃得越来越少了!
打开mmu是一件神圣的工作,需要仔细、再仔细……
从__v7_setup函数返回来,进入到__enable_mmu过程,做起飞前的最后确认:
__enable_mmu:
#ifdef CONFIG_ALIGNMENT_TRAP
orr r0, r0, #CR_A
#else
bic r0, r0, ......

linux中的动静链接库

生成静态库:
  假如有文件  main.c、1.c、2.c    将1.c和2.c生成一个静态库的方法为,编写Makefile:
   mylib.a:1.c 2.c
       $(CC) -c $<    # $<表示所有最新的依赖项,若没有旧的则是全部依赖项
       ar crv  libmy.a 1.o 2.o   # 1.o 2.o为1.c和2. ......

查看和启动linux的服务,如:nfs

启动94,95的nfs服务
方法一:到/etc/init.d/中运行 ./nfs start
       到/etc/rc.d/rc3.d察看控制台服务(K字母开头的话为未启动,S为启动,直接改名字也可以将服务启动)
方法二:打命令setup,将System service中的nfs打勾,然后退出 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号