05 2016 档案
谨慎使用多线程中的fork
摘要:// Upon successful completion, pthread_atfork() shall return a value of zero; otherwise, an error number shall be returned to indicate the error. // @
阅读全文
GDB调试多线程
摘要:先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123
阅读全文
stl中的push_back
摘要:v_data.push_back(pdata);这句只是把指针pdata拷贝到 vector当中的一个指针p1当中 注意是拷贝也就是说当前pdata和p1指向同一个东西,p1在vector中。并不是将结构体放入vector,这点需要明确。这时如果你delete pdata 也就是释放了 pdata
阅读全文
多线程与信号
摘要:1. 每个线程都有自己的信号屏蔽字 2. 每个线程都对同一信号都共享一个信号处理函数。 3. 主线程设置了pthread_sigmask后,子线程将复制一份设置好的信号屏蔽字(之后可以更改)。 然后我们来看下线程和进程间的比较 子进程继承父进程的属性: 子线程继承主线程的属性: 实际用户ID,实际组
阅读全文
关于system函数的安全性漏洞
摘要:当以一个普通用户去执行 设置-用户ID 为root的程序时,如果再次用了system函数时,被system函数所执行的那个程序具有 有效-用户ID 为root的风险(虽然真实用户还是普通用户),这也是一个漏洞。 设置用户ID 程序绝对不应该调用system函数。 因为fork出来的子进程继承了父进程
阅读全文
浙公网安备 33010602011771号