tag | line | file | source code |
msq | 52 | ipc/msg.c | struct msqid_ds *msq; |
msq | 75 | ipc/msg.c | msq = msgque [id]; |
msq | 76 | ipc/msg.c | if (msq == IPC_UNUSED || msq == IPC_NOID) |
msq | 78 | ipc/msg.c | ipcp = &msq->msg_perm; |
msq | 81 | ipc/msg.c | if (msq->msg_perm.seq != (unsigned int) msqid / MSGMNI) |
msq | 92 | ipc/msg.c | if (msgsz + msq->msg_cbytes > msq->msg_qbytes) { |
msq | 103 | ipc/msg.c | interruptible_sleep_on (&msq->wwait); |
msq | 133 | ipc/msg.c | || msq->msg_perm.seq != (unsigned int) msqid / MSGMNI) { |
msq | 139 | ipc/msg.c | if (!msq->msg_first) |
msq | 140 | ipc/msg.c | msq->msg_first = msq->msg_last = msgh; |
msq | 142 | ipc/msg.c | msq->msg_last->msg_next = msgh; |
msq | 143 | ipc/msg.c | msq->msg_last = msgh; |
msq | 147 | ipc/msg.c | msq->msg_cbytes += msgsz; |
msq | 150 | ipc/msg.c | msq->msg_qnum++; |
msq | 151 | ipc/msg.c | msq->msg_lspid = current->pid; |
msq | 152 | ipc/msg.c | msq->msg_stime = CURRENT_TIME; |
msq | 153 | ipc/msg.c | if (msq->rwait) |
msq | 154 | ipc/msg.c | wake_up (&msq->rwait); |
msq | 167 | ipc/msg.c | struct msqid_ds *msq; |
msq | 170 | ipc/msg.c | msq = msgque [ (unsigned int) kerneld_msqid % MSGMNI ]; |
msq | 171 | ipc/msg.c | if (msq == IPC_NOID || msq == IPC_UNUSED) |
msq | 174 | ipc/msg.c | for (tmsg = msq->msg_first; tmsg; tmsg = tmsg->msg_next) |
msq | 190 | ipc/msg.c | struct msqid_ds *msq; |
msq | 211 | ipc/msg.c | msq = msgque [id]; |
msq | 212 | ipc/msg.c | if (msq == IPC_NOID || msq == IPC_UNUSED) |
msq | 214 | ipc/msg.c | ipcp = &msq->msg_perm; |
msq | 233 | ipc/msg.c | if (msq->msg_perm.seq != (unsigned int) msqid / MSGMNI) { |
msq | 249 | ipc/msg.c | nmsg = msq->msg_first; |
msq | 252 | ipc/msg.c | for (tmsg = msq->msg_first; tmsg; |
msq | 258 | ipc/msg.c | for (tmsg = msq->msg_first; tmsg; |
msq | 265 | ipc/msg.c | for (leastp = tmsg = msq->msg_first; tmsg; |
msq | 280 | ipc/msg.c | if (nmsg == msq->msg_first) |
msq | 281 | ipc/msg.c | msq->msg_first = nmsg->msg_next; |
msq | 283 | ipc/msg.c | for (tmsg = msq->msg_first; tmsg; |
msq | 288 | ipc/msg.c | if (nmsg == msq->msg_last) |
msq | 289 | ipc/msg.c | msq->msg_last = tmsg; |
msq | 291 | ipc/msg.c | if (!(--msq->msg_qnum)) |
msq | 292 | ipc/msg.c | msq->msg_last = msq->msg_first = NULL; |
msq | 294 | ipc/msg.c | msq->msg_rtime = CURRENT_TIME; |
msq | 295 | ipc/msg.c | msq->msg_lrpid = current->pid; |
msq | 298 | ipc/msg.c | msq->msg_cbytes -= nmsg->msg_ts; |
msq | 299 | ipc/msg.c | if (msq->wwait) |
msq | 300 | ipc/msg.c | wake_up (&msq->wwait); |
msq | 342 | ipc/msg.c | interruptible_sleep_on (&msq->rwait); |
msq | 365 | ipc/msg.c | struct msqid_ds *msq; |
msq | 368 | ipc/msg.c | while ((msq = msgque[id]) == IPC_NOID) |
msq | 370 | ipc/msg.c | if (msq == IPC_UNUSED) |
msq | 372 | ipc/msg.c | if (key == msq->msg_perm.key) |
msq | 381 | ipc/msg.c | struct msqid_ds *msq; |
msq | 392 | ipc/msg.c | msq = (struct msqid_ds *) kmalloc (sizeof (*msq), GFP_KERNEL); |
msq | 393 | ipc/msg.c | if (!msq) { |
msq | 399 | ipc/msg.c | ipcp = &msq->msg_perm; |
msq | 404 | ipc/msg.c | msq->msg_perm.seq = msg_seq; |
msq | 405 | ipc/msg.c | msq->msg_first = msq->msg_last = NULL; |
msq | 406 | ipc/msg.c | msq->rwait = msq->wwait = NULL; |
msq | 407 | ipc/msg.c | msq->msg_cbytes = msq->msg_qnum = 0; |
msq | 408 | ipc/msg.c | msq->msg_lspid = msq->msg_lrpid = 0; |
msq | 409 | ipc/msg.c | msq->msg_stime = msq->msg_rtime = 0; |
msq | 410 | ipc/msg.c | msq->msg_qbytes = MSGMNB; |
msq | 411 | ipc/msg.c | msq->msg_ctime = CURRENT_TIME; |
msq | 414 | ipc/msg.c | msgque[id] = msq; |
msq | 418 | ipc/msg.c | return (unsigned int) msq->msg_perm.seq * MSGMNI + id; |
msq | 424 | ipc/msg.c | struct msqid_ds *msq; |
msq | 456 | ipc/msg.c | msq = msgque[id]; |
msq | 457 | ipc/msg.c | if (msq == IPC_UNUSED || msq == IPC_NOID) |
msq | 459 | ipc/msg.c | if (ipcperms(&msq->msg_perm, msgflg)) |
msq | 461 | ipc/msg.c | return (unsigned int) msq->msg_perm.seq * MSGMNI + id; |
msq | 466 | ipc/msg.c | struct msqid_ds *msq = msgque[id]; |
msq | 469 | ipc/msg.c | msq->msg_perm.seq++; |
msq | 471 | ipc/msg.c | msgbytes -= msq->msg_cbytes; |
msq | 476 | ipc/msg.c | while (msq->rwait || msq->wwait) { |
msq | 477 | ipc/msg.c | if (msq->rwait) |
msq | 478 | ipc/msg.c | wake_up (&msq->rwait); |
msq | 479 | ipc/msg.c | if (msq->wwait) |
msq | 480 | ipc/msg.c | wake_up (&msq->wwait); |
msq | 483 | ipc/msg.c | for (msgp = msq->msg_first; msgp; msgp = msgh ) { |
msq | 488 | ipc/msg.c | kfree(msq); |
msq | 494 | ipc/msg.c | struct msqid_ds *msq; |
msq | 534 | ipc/msg.c | msq = msgque[msqid]; |
msq | 535 | ipc/msg.c | if (msq == IPC_UNUSED || msq == IPC_NOID) |
msq | 537 | ipc/msg.c | if (ipcperms (&msq->msg_perm, S_IRUGO)) |
msq | 539 | ipc/msg.c | id = (unsigned int) msq->msg_perm.seq * MSGMNI + msqid; |
msq | 540 | ipc/msg.c | tbuf.msg_perm = msq->msg_perm; |
msq | 541 | ipc/msg.c | tbuf.msg_stime = msq->msg_stime; |
msq | 542 | ipc/msg.c | tbuf.msg_rtime = msq->msg_rtime; |
msq | 543 | ipc/msg.c | tbuf.msg_ctime = msq->msg_ctime; |
msq | 544 | ipc/msg.c | tbuf.msg_cbytes = msq->msg_cbytes; |
msq | 545 | ipc/msg.c | tbuf.msg_qnum = msq->msg_qnum; |
msq | 546 | ipc/msg.c | tbuf.msg_qbytes = msq->msg_qbytes; |
msq | 547 | ipc/msg.c | tbuf.msg_lspid = msq->msg_lspid; |
msq | 548 | ipc/msg.c | tbuf.msg_lrpid = msq->msg_lrpid; |
msq | 569 | ipc/msg.c | msq = msgque [id]; |
msq | 570 | ipc/msg.c | if (msq == IPC_UNUSED || msq == IPC_NOID) |
msq | 572 | ipc/msg.c | if (msq->msg_perm.seq != (unsigned int) msqid / MSGMNI) |
msq | 574 | ipc/msg.c | ipcp = &msq->msg_perm; |
msq | 580 | ipc/msg.c | tbuf.msg_perm = msq->msg_perm; |
msq | 581 | ipc/msg.c | tbuf.msg_stime = msq->msg_stime; |
msq | 582 | ipc/msg.c | tbuf.msg_rtime = msq->msg_rtime; |
msq | 583 | ipc/msg.c | tbuf.msg_ctime = msq->msg_ctime; |
msq | 584 | ipc/msg.c | tbuf.msg_cbytes = msq->msg_cbytes; |
msq | 585 | ipc/msg.c | tbuf.msg_qnum = msq->msg_qnum; |
msq | 586 | ipc/msg.c | tbuf.msg_qbytes = msq->msg_qbytes; |
msq | 587 | ipc/msg.c | tbuf.msg_lspid = msq->msg_lspid; |
msq | 588 | ipc/msg.c | tbuf.msg_lrpid = msq->msg_lrpid; |
msq | 597 | ipc/msg.c | msq->msg_qbytes = tbuf.msg_qbytes; |
msq | 602 | ipc/msg.c | msq->msg_ctime = CURRENT_TIME; |