Linux mq_notify信号通知与sighand_struct

发布时间:2026/6/15 2:44:12

Linux mq_notify信号通知与sighand_struct Linux mq_notify信号通知与sighand_structmq_notify系统调用允许进程注册在POSIX消息队列从空变为非空时的通知。内核入口为SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes, const struct sigevent __user *, u_notification)。其核心流程是将用户态struct sigevent拷贝到内核将通知配置写入mqueue_inode_info的notify字段并在通知触发时通过sigaddset向目标进程发送信号。用户传入的struct sigevent决定通知方式cstruct sigevent {int sigev_notify; /* SIGEV_SIGNAL / SIGEV_THREAD / SIGEV_NONE */int sigev_signo; /* 信号编号 */union sigval sigev_value; /* 伴随数据 */void (*sigev_notify_function)(union sigval);void *sigev_notify_attributes;};内核处理路径cint do_mq_notify(mqd_t mqdes, const struct sigevent *notification){struct fd f fdget(mqdes);struct mqueue_inode_info *info;struct sigevent *notify_ptr;int ret 0;if (!f.file)return -EBADF;info MQUEUE_I(file_inode(f.file));if (notification) {/* 注册通知 */struct sigevent n;int ret copy_from_user(n, notification, sizeof(n));if (info-notify_owner info-notify_owner ! current-tgid)return -EBUSY;switch (n.sigev_notify) {case SIGEV_SIGNAL:/* 验证信号编号有效性 */if (!valid_signal(n.sigev_signo))return -EINVAL;break;case SIGEV_NONE:break;case SIGEV_THREAD:/* 需要用户态辅助线程机制实际由C库处理 */break;default:return -EINVAL;}info-notify n;info-notify_owner current-tgid;} else {/* 取消通知 */info-notify.sigev_notify SIGEV_NONE;info-notify_owner 0;}fdput(f);return 0;}通知触发的时机在do_mq_timedsend中当消息插入后检测到队列之前为空且有注册通知cstatic void __do_notify(struct mqueue_inode_info *info){if (info-notify.sigev_notify SIGEV_SIGNAL) {struct task_struct *task;struct siginfo info_sig;rcu_read_lock();task find_task_by_vpid(info-notify_owner);if (task) {memset(info_sig, 0, sizeof(info_sig));info_sig.si_signo info-notify.sigev_signo;info_sig.si_errno 0;info_sig.si_code SI_MESGQ;info_sig.si_value info-notify.sigev_value;info_sig.si_pid task_tgid_vnr(current);info_sig.si_uid from_kuid_munged(current_user_ns(), current_uid());/* 发送信号 */send_sig_info(info-notify.sigev_signo,info_sig, task);}rcu_read_unlock();}/* 通知只触发一次下次需要重新注册 */info-notify.sigev_notify SIGEV_NONE;info-notify_owner 0;}关键数据结构是sighand_struct。当信号通过send_sig_info发送时内核调用__send_signal它会将信号挂入目标进程的sigpending队列并通过sigaddset在pending信号集中设置对应位cstatic int __send_signal(int sig, struct siginfo *info, struct task_struct *t,int group, int from_ancestor_ns){struct sigpending *pending;struct sighand_struct *sighand;rcu_read_lock();sighand rcu_dereference(t-sighand);pending group ? t-signal-shared_pending : t-pending;...sigaddset(pending-signal, sig);...complete_signal(sig, t, group);rcu_read_unlock();return 0;}sighand_struct的定义cstruct sighand_struct {spinlock_t siglock;refcount_t count;struct k_sigaction action[_NSIG]; /* 每个信号对应的处理动作 */};当目标进程从内核态返回用户态时do_signal或arch_do_signal遍历pending信号集找到sigev_signo对应的k_sigaction执行用户注册的信号处理函数。用户态信号处理函数通过sigaction注册的sa_handler被调用sigev_value通过siginfo的si_value传递给处理函数。SIGEV_THREAD由glibc的用户态线程辅助机制实现内核在mq_notify中不做线程创建。对于SIGEV_THREADglibc在内部创建线程并调用sigev_notify_function传入sigev_value。内核仅对SIGEV_SIGNAL路径进行实际信号投递。每个inode同一时间只允许一个通知注册者当info-notify_owner非零时新的注册请求返回EBUSY。通知是一次性的触发后自动清零需要在每次接收后重新注册。多个接收者可以同时阻塞在wait_q上等待消息但只有等队列变空再变非空时才会触发新通知。pic.gksju.cn/19113.Docpic.gksju.cn/42026.Docpic.gksju.cn/80280.Docpic.gksju.cn/84626.Docpic.gksju.cn/46485.Docpic.gksju.cn/60200.Docpic.gksju.cn/48004.Docpic.gksju.cn/86260.Docpic.gksju.cn/44442.Docpic.gksju.cn/66448.Docpix.gksju.cn/42620.Docpix.gksju.cn/88886.Docpix.gksju.cn/08042.Docpix.gksju.cn/24044.Docpix.gksju.cn/40804.Docpix.gksju.cn/22648.Docpix.gksju.cn/48020.Docpix.gksju.cn/82486.Docpix.gksju.cn/44688.Docpix.gksju.cn/48248.Docpiz.gksju.cn/00026.Docpiz.gksju.cn/42266.Docpiz.gksju.cn/86460.Docpiz.gksju.cn/88088.Docpiz.gksju.cn/82624.Docpiz.gksju.cn/64808.Docpiz.gksju.cn/22848.Docpiz.gksju.cn/88020.Docpiz.gksju.cn/04686.Docpiz.gksju.cn/26884.Docpil.gksju.cn/84226.Docpil.gksju.cn/06060.Docpil.gksju.cn/68262.Docpil.gksju.cn/42844.Docpil.gksju.cn/04664.Docpil.gksju.cn/64200.Docpil.gksju.cn/64882.Docpil.gksju.cn/28466.Docpil.gksju.cn/42668.Docpil.gksju.cn/08064.Docpik.gixrq.cn/40860.Docpik.gixrq.cn/80088.Docpik.gixrq.cn/40808.Docpik.gixrq.cn/20284.Docpik.gixrq.cn/60426.Docpik.gixrq.cn/66686.Docpik.gixrq.cn/02424.Docpik.gixrq.cn/84284.Docpik.gixrq.cn/64628.Docpik.gixrq.cn/64060.Docpij.gixrq.cn/40000.Docpij.gixrq.cn/60000.Docpij.gixrq.cn/20022.Docpij.gixrq.cn/42224.Docpij.gixrq.cn/62488.Docpij.gixrq.cn/02004.Docpij.gixrq.cn/40286.Docpij.gixrq.cn/64800.Docpij.gixrq.cn/80446.Docpij.gixrq.cn/68400.Docpih.gixrq.cn/44414.Docpih.gixrq.cn/68644.Docpih.gixrq.cn/00820.Docpih.gixrq.cn/32673.Docpih.gixrq.cn/82242.Docpih.gixrq.cn/32608.Docpih.gixrq.cn/20842.Docpih.gixrq.cn/02062.Docpih.gixrq.cn/42048.Docpih.gixrq.cn/82488.Docpig.gixrq.cn/60204.Docpig.gixrq.cn/68082.Docpig.gixrq.cn/40246.Docpig.gixrq.cn/20482.Docpig.gixrq.cn/42428.Docpig.gixrq.cn/26408.Docpig.gixrq.cn/08424.Docpig.gixrq.cn/40042.Docpig.gixrq.cn/04408.Docpig.gixrq.cn/24800.Docpif.gixrq.cn/88606.Docpif.gixrq.cn/42864.Docpif.gixrq.cn/04686.Docpif.gixrq.cn/68044.Docpif.gixrq.cn/00446.Docpif.gixrq.cn/48000.Docpif.gixrq.cn/06668.Docpif.gixrq.cn/26028.Docpif.gixrq.cn/80224.Docpif.gixrq.cn/46468.Docpid.gixrq.cn/04442.Docpid.gixrq.cn/24604.Docpid.gixrq.cn/06448.Docpid.gixrq.cn/80400.Docpid.gixrq.cn/88206.Docpid.gixrq.cn/80664.Docpid.gixrq.cn/46262.Docpid.gixrq.cn/42488.Docpid.gixrq.cn/88262.Docpid.gixrq.cn/80442.Docpis.gixrq.cn/40664.Docpis.gixrq.cn/22424.Docpis.gixrq.cn/66608.Docpis.gixrq.cn/24408.Docpis.gixrq.cn/08642.Docpis.gixrq.cn/66880.Docpis.gixrq.cn/28400.Docpis.gixrq.cn/86604.Docpis.gixrq.cn/66480.Docpis.gixrq.cn/46042.Docpia.gixrq.cn/22242.Docpia.gixrq.cn/82608.Docpia.gixrq.cn/06282.Docpia.gixrq.cn/40664.Docpia.gixrq.cn/60820.Docpia.gixrq.cn/80862.Docpia.gixrq.cn/20266.Docpia.gixrq.cn/20644.Docpia.gixrq.cn/06860.Docpia.gixrq.cn/86868.Docpip.gixrq.cn/46040.Docpip.gixrq.cn/06464.Docpip.gixrq.cn/22202.Docpip.gixrq.cn/85044.Docpip.gixrq.cn/82600.Docpip.gixrq.cn/40688.Docpip.gixrq.cn/86662.Docpip.gixrq.cn/86800.Docpip.gixrq.cn/08206.Docpip.gixrq.cn/88608.Docpio.gixrq.cn/86604.Docpio.gixrq.cn/04862.Docpio.gixrq.cn/28062.Docpio.gixrq.cn/22060.Docpio.gixrq.cn/28444.Docpio.gixrq.cn/48820.Docpio.gixrq.cn/00228.Docpio.gixrq.cn/26646.Docpio.gixrq.cn/86644.Docpio.gixrq.cn/24440.Docpii.gixrq.cn/64864.Docpii.gixrq.cn/24466.Docpii.gixrq.cn/28424.Docpii.gixrq.cn/20408.Docpii.gixrq.cn/60402.Docpii.gixrq.cn/20624.Docpii.gixrq.cn/84464.Docpii.gixrq.cn/42886.Docpii.gixrq.cn/46606.Docpii.gixrq.cn/68646.Docpiu.gixrq.cn/84062.Docpiu.gixrq.cn/40868.Docpiu.gixrq.cn/00424.Docpiu.gixrq.cn/40608.Docpiu.gixrq.cn/28802.Docpiu.gixrq.cn/86226.Docpiu.gixrq.cn/48204.Docpiu.gixrq.cn/84468.Docpiu.gixrq.cn/68886.Docpiu.gixrq.cn/86884.Docpiy.gixrq.cn/84808.Docpiy.gixrq.cn/22084.Docpiy.gixrq.cn/62262.Docpiy.gixrq.cn/42686.Docpiy.gixrq.cn/82040.Docpiy.gixrq.cn/08264.Docpiy.gixrq.cn/80882.Docpiy.gixrq.cn/86666.Docpiy.gixrq.cn/24444.Docpiy.gixrq.cn/60684.Docpit.gixrq.cn/84206.Docpit.gixrq.cn/97413.Docpit.gixrq.cn/60280.Docpit.gixrq.cn/81036.Docpit.gixrq.cn/44886.Docpit.gixrq.cn/08480.Docpit.gixrq.cn/64286.Docpit.gixrq.cn/40880.Docpit.gixrq.cn/80406.Docpit.gixrq.cn/02066.Docpir.gixrq.cn/66280.Docpir.gixrq.cn/82800.Docpir.gixrq.cn/28643.Docpir.gixrq.cn/04080.Docpir.gixrq.cn/04042.Docpir.gixrq.cn/24515.Docpir.gixrq.cn/60040.Docpir.gixrq.cn/04026.Docpir.gixrq.cn/68408.Docpir.gixrq.cn/04844.Docpie.gixrq.cn/64486.Docpie.gixrq.cn/65464.Docpie.gixrq.cn/06884.Docpie.gixrq.cn/88884.Docpie.gixrq.cn/02028.Docpie.gixrq.cn/44622.Docpie.gixrq.cn/42642.Docpie.gixrq.cn/00666.Docpie.gixrq.cn/04404.Docpie.gixrq.cn/66428.Docpiw.gixrq.cn/06666.Docpiw.gixrq.cn/42602.Docpiw.gixrq.cn/64042.Docpiw.gixrq.cn/26864.Docpiw.gixrq.cn/82240.Docpiw.gixrq.cn/80286.Docpiw.gixrq.cn/82202.Docpiw.gixrq.cn/42888.Docpiw.gixrq.cn/26464.Docpiw.gixrq.cn/66220.Docpiq.gixrq.cn/64688.Docpiq.gixrq.cn/62426.Docpiq.gixrq.cn/24864.Docpiq.gixrq.cn/28600.Docpiq.gixrq.cn/40808.Docpiq.gixrq.cn/44206.Docpiq.gixrq.cn/26684.Docpiq.gixrq.cn/20662.Docpiq.gixrq.cn/42608.Docpiq.gixrq.cn/00844.Docpum.gixrq.cn/64880.Docpum.gixrq.cn/04020.Docpum.gixrq.cn/46460.Docpum.gixrq.cn/48288.Docpum.gixrq.cn/26208.Docpum.gixrq.cn/66084.Docpum.gixrq.cn/86204.Docpum.gixrq.cn/00064.Docpum.gixrq.cn/84400.Docpum.gixrq.cn/26017.Docpun.gixrq.cn/06262.Docpun.gixrq.cn/08202.Docpun.gixrq.cn/08880.Docpun.gixrq.cn/24486.Docpun.gixrq.cn/60484.Docpun.gixrq.cn/44666.Docpun.gixrq.cn/48842.Docpun.gixrq.cn/44048.Docpun.gixrq.cn/04484.Docpun.gixrq.cn/42004.Docpub.gixrq.cn/40640.Docpub.gixrq.cn/08288.Docpub.gixrq.cn/40888.Docpub.gixrq.cn/06848.Docpub.gixrq.cn/08022.Docpub.gixrq.cn/40822.Docpub.gixrq.cn/22268.Docpub.gixrq.cn/68224.Docpub.gixrq.cn/06006.Docpub.gixrq.cn/66202.Docpuv.gixrq.cn/22468.Docpuv.gixrq.cn/86682.Docpuv.gixrq.cn/02422.Docpuv.gixrq.cn/02024.Docpuv.gixrq.cn/66028.Docpuv.gixrq.cn/00466.Docpuv.gixrq.cn/02262.Docpuv.gixrq.cn/72456.Docpuv.gixrq.cn/48200.Docpuv.gixrq.cn/06486.Docpuc.gixrq.cn/06042.Docpuc.gixrq.cn/00442.Docpuc.gixrq.cn/84282.Docpuc.gixrq.cn/22280.Docpuc.gixrq.cn/84044.Docpuc.gixrq.cn/88668.Docpuc.gixrq.cn/82888.Docpuc.gixrq.cn/66888.Docpuc.gixrq.cn/65826.Docpuc.gixrq.cn/22844.Docpux.gixrq.cn/40280.Docpux.gixrq.cn/62264.Docpux.gixrq.cn/02682.Docpux.gixrq.cn/05456.Docpux.gixrq.cn/42008.Docpux.gixrq.cn/82080.Docpux.gixrq.cn/04866.Docpux.gixrq.cn/08222.Docpux.gixrq.cn/22420.Docpux.gixrq.cn/04408.Docpuz.gixrq.cn/28828.Docpuz.gixrq.cn/64282.Docpuz.gixrq.cn/86380.Docpuz.gixrq.cn/40644.Docpuz.gixrq.cn/86064.Docpuz.gixrq.cn/06626.Docpuz.gixrq.cn/72390.Docpuz.gixrq.cn/22208.Docpuz.gixrq.cn/22246.Docpuz.gixrq.cn/84042.Docpul.gixrq.cn/28600.Docpul.gixrq.cn/44606.Docpul.gixrq.cn/82220.Docpul.gixrq.cn/28604.Docpul.gixrq.cn/14128.Docpul.gixrq.cn/86260.Docpul.gixrq.cn/44046.Docpul.gixrq.cn/08608.Docpul.gixrq.cn/84482.Docpul.gixrq.cn/40264.Docpuk.gixrq.cn/64006.Docpuk.gixrq.cn/84808.Docpuk.gixrq.cn/82280.Docpuk.gixrq.cn/80684.Docpuk.gixrq.cn/85256.Docpuk.gixrq.cn/40640.Docpuk.gixrq.cn/46480.Docpuk.gixrq.cn/88426.Docpuk.gixrq.cn/24044.Docpuk.gixrq.cn/02606.Docpuj.gixrq.cn/06228.Docpuj.gixrq.cn/06844.Docpuj.gixrq.cn/20888.Docpuj.gixrq.cn/66280.Docpuj.gixrq.cn/24440.Docpuj.gixrq.cn/08020.Docpuj.gixrq.cn/64824.Docpuj.gixrq.cn/00642.Docpuj.gixrq.cn/62082.Docpuj.gixrq.cn/82600.Docpuh.gixrq.cn/26602.Docpuh.gixrq.cn/28286.Docpuh.gixrq.cn/08880.Docpuh.gixrq.cn/60400.Docpuh.gixrq.cn/08842.Docpuh.gixrq.cn/84042.Docpuh.gixrq.cn/04062.Docpuh.gixrq.cn/02848.Docpuh.gixrq.cn/06862.Docpuh.gixrq.cn/66844.Docpug.gixrq.cn/20604.Docpug.gixrq.cn/64282.Docpug.gixrq.cn/26886.Docpug.gixrq.cn/08404.Docpug.gixrq.cn/20640.Docpug.gixrq.cn/44408.Docpug.gixrq.cn/80062.Docpug.gixrq.cn/84602.Docpug.gixrq.cn/44602.Docpug.gixrq.cn/26808.Docpuf.gixrq.cn/82628.Docpuf.gixrq.cn/48408.Docpuf.gixrq.cn/82620.Docpuf.gixrq.cn/08462.Docpuf.gixrq.cn/08228.Docpuf.gixrq.cn/44662.Docpuf.gixrq.cn/62268.Docpuf.gixrq.cn/08846.Docpuf.gixrq.cn/22002.Docpuf.gixrq.cn/42080.Docpud.gixrq.cn/22808.Docpud.gixrq.cn/48460.Docpud.gixrq.cn/86268.Docpud.gixrq.cn/88804.Docpud.gixrq.cn/46482.Docpud.gixrq.cn/00860.Docpud.gixrq.cn/42872.Docpud.gixrq.cn/28420.Docpud.gixrq.cn/80826.Docpud.gixrq.cn/42226.Docpus.gixrq.cn/82468.Docpus.gixrq.cn/40820.Docpus.gixrq.cn/46000.Docpus.gixrq.cn/84646.Docpus.gixrq.cn/00042.Docpus.gixrq.cn/60408.Docpus.gixrq.cn/80822.Docpus.gixrq.cn/60428.Docpus.gixrq.cn/86482.Docpus.gixrq.cn/22428.Docpua.gixrq.cn/42442.Docpua.gixrq.cn/22462.Docpua.gixrq.cn/86608.Docpua.gixrq.cn/62226.Docpua.gixrq.cn/66426.Docpua.gixrq.cn/60286.Docpua.gixrq.cn/08484.Docpua.gixrq.cn/62422.Docpua.gixrq.cn/84806.Docpua.gixrq.cn/80068.Docpup.gixrq.cn/06480.Docpup.gixrq.cn/60042.Docpup.gixrq.cn/64604.Docpup.gixrq.cn/28220.Docpup.gixrq.cn/48007.Docpup.gixrq.cn/46068.Docpup.gixrq.cn/60840.Docpup.gixrq.cn/64422.Docpup.gixrq.cn/44668.Docpup.gixrq.cn/88026.Docpuo.gixrq.cn/44462.Docpuo.gixrq.cn/28046.Docpuo.gixrq.cn/94678.Docpuo.gixrq.cn/44246.Docpuo.gixrq.cn/20866.Docpuo.gixrq.cn/08428.Docpuo.gixrq.cn/88426.Docpuo.gixrq.cn/08208.Docpuo.gixrq.cn/00228.Docpuo.gixrq.cn/62060.Docpui.gixrq.cn/08846.Docpui.gixrq.cn/00804.Docpui.gixrq.cn/02846.Docpui.gixrq.cn/80444.Docpui.gixrq.cn/40884.Docpui.gixrq.cn/62642.Docpui.gixrq.cn/84608.Docpui.gixrq.cn/64804.Docpui.gixrq.cn/42442.Docpui.gixrq.cn/46484.Docpuu.gixrq.cn/62860.Docpuu.gixrq.cn/08484.Docpuu.gixrq.cn/44802.Docpuu.gixrq.cn/04644.Docpuu.gixrq.cn/59132.Docpuu.gixrq.cn/40444.Docpuu.gixrq.cn/64428.Docpuu.gixrq.cn/25906.Docpuu.gixrq.cn/04086.Docpuu.gixrq.cn/88428.Docpuy.gixrq.cn/02066.Docpuy.gixrq.cn/04868.Docpuy.gixrq.cn/26664.Docpuy.gixrq.cn/22088.Docpuy.gixrq.cn/80026.Docpuy.gixrq.cn/62026.Docpuy.gixrq.cn/62242.Docpuy.gixrq.cn/46248.Docpuy.gixrq.cn/20240.Docpuy.gixrq.cn/64004.Docput.gixrq.cn/20402.Docput.gixrq.cn/26660.Docput.gixrq.cn/20866.Docput.gixrq.cn/66808.Docput.gixrq.cn/68202.Docput.gixrq.cn/00442.Docput.gixrq.cn/00404.Docput.gixrq.cn/22442.Docput.gixrq.cn/06642.Docput.gixrq.cn/46826.Docpur.gixrq.cn/66804.Docpur.gixrq.cn/28842.Docpur.gixrq.cn/64620.Docpur.gixrq.cn/42026.Docpur.gixrq.cn/84022.Docpur.gixrq.cn/22822.Docpur.gixrq.cn/82022.Docpur.gixrq.cn/64808.Docpur.gixrq.cn/28822.Docpur.gixrq.cn/64024.Docpue.gixrq.cn/60406.Docpue.gixrq.cn/06242.Docpue.gixrq.cn/20284.Docpue.gixrq.cn/86864.Docpue.gixrq.cn/26208.Docpue.gixrq.cn/46642.Docpue.gixrq.cn/68864.Docpue.gixrq.cn/48886.Docpue.gixrq.cn/00680.Docpue.gixrq.cn/46082.Docpuw.gixrq.cn/24868.Docpuw.gixrq.cn/88000.Docpuw.gixrq.cn/29128.Docpuw.gixrq.cn/04226.Docpuw.gixrq.cn/68844.Docpuw.gixrq.cn/08846.Docpuw.gixrq.cn/38734.Docpuw.gixrq.cn/02660.Docpuw.gixrq.cn/44066.Docpuw.gixrq.cn/64440.Docpuq.gixrq.cn/60486.Docpuq.gixrq.cn/42884.Docpuq.gixrq.cn/64046.Docpuq.gixrq.cn/04824.Docpuq.gixrq.cn/26846.Docpuq.gixrq.cn/68200.Docpuq.gixrq.cn/80002.Docpuq.gixrq.cn/00464.Docpuq.gixrq.cn/04482.Docpuq.gixrq.cn/66200.Docpym.gixrq.cn/60288.Docpym.gixrq.cn/62644.Docpym.gixrq.cn/64822.Docpym.gixrq.cn/20440.Docpym.gixrq.cn/62620.Docpym.gixrq.cn/66402.Docpym.gixrq.cn/60882.Docpym.gixrq.cn/48826.Docpym.gixrq.cn/26600.Docpym.gixrq.cn/24826.Docpyn.gixrq.cn/66264.Docpyn.gixrq.cn/86802.Docpyn.gixrq.cn/20424.Docpyn.gixrq.cn/88804.Docpyn.gixrq.cn/00282.Docpyn.gixrq.cn/82466.Docpyn.gixrq.cn/44002.Docpyn.gixrq.cn/14393.Docpyn.gixrq.cn/24826.Docpyn.gixrq.cn/84208.Docpyb.gixrq.cn/40608.Docpyb.gixrq.cn/02646.Docpyb.gixrq.cn/44264.Docpyb.gixrq.cn/60486.Docpyb.gixrq.cn/60822.Docpyb.gixrq.cn/60260.Docpyb.gixrq.cn/62668.Docpyb.gixrq.cn/20648.Docpyb.gixrq.cn/08420.Docpyb.gixrq.cn/48484.Docpyv.gixrq.cn/00466.Docpyv.gixrq.cn/06282.Docpyv.gixrq.cn/22808.Docpyv.gixrq.cn/24604.Docpyv.gixrq.cn/46884.Docpyv.gixrq.cn/20688.Docpyv.gixrq.cn/47348.Docpyv.gixrq.cn/86400.Docpyv.gixrq.cn/28486.Docpyv.gixrq.cn/20828.Docpyc.gixrq.cn/20604.Docpyc.gixrq.cn/86464.Docpyc.gixrq.cn/46642.Docpyc.gixrq.cn/06046.Docpyc.gixrq.cn/40080.Docpyc.gixrq.cn/46828.Docpyc.gixrq.cn/08200.Docpyc.gixrq.cn/40404.Docpyc.gixrq.cn/48004.Docpyc.gixrq.cn/26481.Docpyx.gixrq.cn/46284.Docpyx.gixrq.cn/62282.Docpyx.gixrq.cn/83602.Docpyx.gixrq.cn/88668.Docpyx.gixrq.cn/26446.Docpyx.gixrq.cn/26628.Docpyx.gixrq.cn/97706.Docpyx.gixrq.cn/28448.Docpyx.gixrq.cn/82644.Docpyx.gixrq.cn/20204.Docpyz.gixrq.cn/48464.Docpyz.gixrq.cn/08202.Docpyz.gixrq.cn/20686.Docpyz.gixrq.cn/02242.Docpyz.gixrq.cn/24840.Docpyz.gixrq.cn/86608.Docpyz.gixrq.cn/08026.Docpyz.gixrq.cn/86200.Docpyz.gixrq.cn/22886.Docpyz.gixrq.cn/88282.Docpyl.gixrq.cn/68682.Docpyl.gixrq.cn/88424.Docpyl.gixrq.cn/60680.Docpyl.gixrq.cn/40264.Docpyl.gixrq.cn/22442.Docpyl.gixrq.cn/80446.Docpyl.gixrq.cn/04244.Docpyl.gixrq.cn/40684.Docpyl.gixrq.cn/62408.Docpyl.gixrq.cn/22684.Docpyk.gixrq.cn/86446.Docpyk.gixrq.cn/00008.Docpyk.gixrq.cn/26622.Docpyk.gixrq.cn/24600.Docpyk.gixrq.cn/40804.Docpyk.gixrq.cn/48264.Docpyk.gixrq.cn/25798.Docpyk.gixrq.cn/24804.Docpyk.gixrq.cn/04800.Docpyk.gixrq.cn/80642.Docpyj.gixrq.cn/82668.Docpyj.gixrq.cn/24806.Docpyj.gixrq.cn/09266.Docpyj.gixrq.cn/86004.Docpyj.gixrq.cn/88868.Docpyj.gixrq.cn/28264.Docpyj.gixrq.cn/84884.Docpyj.gixrq.cn/20842.Docpyj.gixrq.cn/06026.Docpyj.gixrq.cn/28622.Docpyh.gixrq.cn/08000.Docpyh.gixrq.cn/20080.Docpyh.gixrq.cn/68444.Docpyh.gixrq.cn/66264.Docpyh.gixrq.cn/26486.Docpyh.gixrq.cn/24024.Docpyh.gixrq.cn/88680.Docpyh.gixrq.cn/26868.Docpyh.gixrq.cn/64604.Docpyh.gixrq.cn/22860.Docpyg.gixrq.cn/26444.Docpyg.gixrq.cn/66048.Docpyg.gixrq.cn/44020.Docpyg.gixrq.cn/66622.Docpyg.gixrq.cn/88446.Docpyg.gixrq.cn/46880.Docpyg.gixrq.cn/20008.Docpyg.gixrq.cn/42866.Docpyg.gixrq.cn/24464.Docpyg.gixrq.cn/06048.Docpyf.gixrq.cn/66406.Docpyf.gixrq.cn/88206.Docpyf.gixrq.cn/64226.Docpyf.gixrq.cn/88864.Docpyf.gixrq.cn/64808.Docpyf.gixrq.cn/82486.Docpyf.gixrq.cn/28862.Docpyf.gixrq.cn/84260.Docpyf.gixrq.cn/24888.Docpyf.gixrq.cn/00628.Docpyd.gixrq.cn/60680.Docpyd.gixrq.cn/46060.Docpyd.gixrq.cn/88444.Docpyd.gixrq.cn/20660.Docpyd.gixrq.cn/42468.Docpyd.gixrq.cn/62644.Docpyd.gixrq.cn/02822.Docpyd.gixrq.cn/00426.Docpyd.gixrq.cn/00244.Docpyd.gixrq.cn/40800.Docpys.gixrq.cn/66080.Docpys.gixrq.cn/60024.Docpys.gixrq.cn/42448.Docpys.gixrq.cn/22400.Docpys.gixrq.cn/60608.Docpys.gixrq.cn/28608.Docpys.gixrq.cn/82428.Docpys.gixrq.cn/84424.Docpys.gixrq.cn/24484.Docpys.gixrq.cn/08060.Docpya.gixrq.cn/80866.Docpya.gixrq.cn/88860.Docpya.gixrq.cn/08466.Docpya.gixrq.cn/88446.Docpya.gixrq.cn/26282.Docpya.gixrq.cn/62404.Docpya.gixrq.cn/22260.Docpya.gixrq.cn/64246.Docpya.gixrq.cn/66680.Docpya.gixrq.cn/66040.Docpyp.gixrq.cn/82200.Docpyp.gixrq.cn/72870.Docpyp.gixrq.cn/80840.Docpyp.gixrq.cn/88480.Docpyp.gixrq.cn/20408.Docpyp.gixrq.cn/20008.Docpyp.gixrq.cn/26442.Docpyp.gixrq.cn/82602.Docpyp.gixrq.cn/80882.Docpyp.gixrq.cn/28080.Docpyo.gixrq.cn/48040.Docpyo.gixrq.cn/20648.Docpyo.gixrq.cn/44404.Docpyo.gixrq.cn/21329.Docpyo.gixrq.cn/06402.Docpyo.gixrq.cn/64424.Docpyo.gixrq.cn/57173.Docpyo.gixrq.cn/80246.Docpyo.gixrq.cn/82668.Docpyo.gixrq.cn/86886.Docpyi.gixrq.cn/40620.Docpyi.gixrq.cn/64460.Docpyi.gixrq.cn/44082.Docpyi.gixrq.cn/64020.Docpyi.gixrq.cn/66864.Docpyi.gixrq.cn/24608.Docpyi.gixrq.cn/24866.Docpyi.gixrq.cn/88622.Docpyi.gixrq.cn/62080.Docpyi.gixrq.cn/64208.Docpyu.gixrq.cn/22844.Docpyu.gixrq.cn/24428.Docpyu.gixrq.cn/72752.Docpyu.gixrq.cn/28802.Docpyu.gixrq.cn/48448.Docpyu.gixrq.cn/02006.Docpyu.gixrq.cn/42400.Docpyu.gixrq.cn/40082.Docpyu.gixrq.cn/68044.Docpyu.gixrq.cn/30339.Docpyy.gixrq.cn/35748.Docpyy.gixrq.cn/84008.Docpyy.gixrq.cn/08488.Docpyy.gixrq.cn/26464.Docpyy.gixrq.cn/44460.Docpyy.gixrq.cn/86240.Docpyy.gixrq.cn/24826.Docpyy.gixrq.cn/88442.Docpyy.gixrq.cn/02868.Docpyy.gixrq.cn/48664.Docpyt.gixrq.cn/24460.Docpyt.gixrq.cn/28246.Docpyt.gixrq.cn/82082.Docpyt.gixrq.cn/60468.Docpyt.gixrq.cn/20688.Docpyt.gixrq.cn/60868.Docpyt.gixrq.cn/66664.Docpyt.gixrq.cn/26840.Docpyt.gixrq.cn/40006.Docpyt.gixrq.cn/84020.Docpyr.gixrq.cn/24022.Docpyr.gixrq.cn/22804.Docpyr.gixrq.cn/08082.Docpyr.gixrq.cn/00682.Docpyr.gixrq.cn/00088.Docpyr.gixrq.cn/64440.Docpyr.gixrq.cn/40622.Docpyr.gixrq.cn/40240.Docpyr.gixrq.cn/48604.Docpyr.gixrq.cn/60282.Docpye.gixrq.cn/22280.Docpye.gixrq.cn/68660.Docpye.gixrq.cn/60826.Docpye.gixrq.cn/28422.Docpye.gixrq.cn/42662.Docpye.gixrq.cn/02488.Docpye.gixrq.cn/42862.Docpye.gixrq.cn/64284.Docpye.gixrq.cn/84002.Docpye.gixrq.cn/28802.Docpyw.gixrq.cn/46488.Docpyw.gixrq.cn/02406.Docpyw.gixrq.cn/28666.Docpyw.gixrq.cn/64882.Docpyw.gixrq.cn/62486.Docpyw.gixrq.cn/64620.Docpyw.gixrq.cn/02468.Docpyw.gixrq.cn/24682.Docpyw.gixrq.cn/22088.Docpyw.gixrq.cn/48284.Docpyq.gixrq.cn/84040.Docpyq.gixrq.cn/66824.Docpyq.gixrq.cn/82202.Docpyq.gixrq.cn/66567.Docpyq.gixrq.cn/22868.Docpyq.gixrq.cn/88004.Docpyq.gixrq.cn/44248.Docpyq.gixrq.cn/51315.Docpyq.gixrq.cn/68060.Docpyq.gixrq.cn/77751.Docptm.gixrq.cn/86888.Docptm.gixrq.cn/04820.Docptm.gixrq.cn/00444.Docptm.gixrq.cn/19713.Docptm.gixrq.cn/75713.Docptm.gixrq.cn/02066.Docptm.gixrq.cn/06246.Docptm.gixrq.cn/48220.Docptm.gixrq.cn/26371.Docptm.gixrq.cn/99119.Docptn.gixrq.cn/44460.Docptn.gixrq.cn/24686.Docptn.gixrq.cn/55131.Docptn.gixrq.cn/26200.Docptn.gixrq.cn/80024.Docptn.gixrq.cn/02064.Docptn.gixrq.cn/40824.Docptn.gixrq.cn/26800.Docptn.gixrq.cn/44808.Docptn.gixrq.cn/26020.Docptb.gixrq.cn/53795.Docptb.gixrq.cn/04628.Docptb.gixrq.cn/15351.Docptb.gixrq.cn/11933.Docptb.gixrq.cn/24466.Docptb.gixrq.cn/04884.Docptb.gixrq.cn/42288.Docptb.gixrq.cn/81217.Docptb.gixrq.cn/22604.Docptb.gixrq.cn/95953.Docptv.gixrq.cn/24440.Docptv.gixrq.cn/31339.Docptv.gixrq.cn/19713.Docptv.gixrq.cn/59579.Docptv.gixrq.cn/24426.Docptv.gixrq.cn/45456.Docptv.gixrq.cn/55719.Docptv.gixrq.cn/37171.Docptv.gixrq.cn/91935.Docptv.gixrq.cn/51115.Docptc.gixrq.cn/57537.Docptc.gixrq.cn/79557.Docptc.gixrq.cn/15195.Docptc.gixrq.cn/95979.Docptc.gixrq.cn/37755.Docptc.gixrq.cn/17771.Docptc.gixrq.cn/53191.Docptc.gixrq.cn/17113.Docptc.gixrq.cn/60848.Docptc.gixrq.cn/23888.Doc

相关新闻