APUE
文章平均质量分 73
tsbirdman163
天空没有翅膀的痕迹而我已飞过
展开
-
Linux 多线程应用中如何编写安全的信号处理函数
Linux 多线程应用中编写安全的信号处理函数在开发多线程应用时,开发人员一般都会考虑线程安全,会使用 pthread_mutex 去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如 SIGUSR1、SIGRTMIN 等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景转载 2014-10-07 21:16:36 · 614 阅读 · 0 评论 -
APUE--pthreadatfork()函数理解
There are at least two serious problems with the semantics of fork() in a multi-threaded program. One problem has to do with state (for example, memory) covered by mutexes. Consider the case where o翻译 2014-10-07 18:30:56 · 631 阅读 · 0 评论 -
强制性锁建议性锁
fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。fcntl文件锁有两种类型:建议性锁和强制性锁建议性锁是这样规定的:每个使用上锁文件的进程都要检查是否有锁存在,当然还转载 2014-10-12 10:59:19 · 542 阅读 · 0 评论 -
signal()和sigaction()函数简单用法
程序写着玩的,熟悉apue里面原创 2014-10-13 21:53:57 · 503 阅读 · 0 评论 -
linux消息队列实例
#include #include #include #include #include #include #include struct mymesg{ long type; char data[512];};int err_sys(char *p);void printfmsgds(struct msqid_ds ds){ //printf("msq_qnum原创 2014-10-19 21:24:13 · 579 阅读 · 0 评论 -
实际用户ID,有效用户ID和设置用户ID
实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解。今天好好区分了一下这几个概念并总结如下。说白了这几个UID引出都是为了系统的权限管理。 下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,为了说明方便真接使用了转载 2015-03-01 14:34:43 · 4829 阅读 · 2 评论