|
|
|
|
 想让父进程等等子进程... - ymjzxw [ 2005-04-18 12:18 | 434 byte(s)]
 Re: 想让父进程等等子进程... - lonelyflyer [ 2005-04-18 14:51 | 56 byte(s)]
 Re: 想让父进程等等子进程... - ymjzxw [ 2005-04-18 16:02 | 204 byte(s)]
 Re: 想让父进程等等子进程... - ymjzxw [ 2005-04-18 16:36 | 217 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
必须要用信号灯实现.不知道内核2.6还支持posix有名信号量?
我的想法:
进程首先创建一个无名信号量sem1,初值为0,fork以后,父进程立刻调用sem_wait(&sem1),子进程完成相关操作后调用sem_post(&sem1).
现在的问题是,fork完了以后在子进程中也有一个sem1,那在子进程中执行的sem_post(&sem1)和父进程中执行的sem_wait(&sem1)就不是相同的sem1,是不是这个道理?
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
晕了,包含了<semaphore.h>后连接,竟然说
undefined reference to `sem_init'
undefined reference to `sem_post'
undefined reference to `sem_wait'
....
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
哦,原来要加上 -lrt选贤,以连接librt.so库
写了个小程序验证发现父子进程用的根本就不是同一个sem1
是不是用无名信号灯不能解决问题?
可是有名信号量又不知道支不支持:(
|
|
|
[Original]
[Print]
[Top]
|
|
|