line |
true |
false |
branch |
30
|
0 |
1 |
if (errno && val==-1) not_here("MQ_OPEN_MAX"); |
|
0 |
0 |
if (errno && val==-1) not_here("MQ_OPEN_MAX"); |
45
|
0 |
1 |
if (errno && val==-1) not_here("MQ_PRIO_MAX"); |
|
0 |
0 |
if (errno && val==-1) not_here("MQ_PRIO_MAX"); |
63
|
19 |
11 |
if (attr != NULL) |
64
|
19 |
0 |
mqa_ptr = (struct mq_attr*) SvPV(attr, mqa_len); |
67
|
2 |
28 |
if (mqdes == (mqd_t)-1) { XSRETURN_UNDEF; } |
76
|
0 |
28 |
if (mq_close(mqdes) == -1) { XSRETURN_UNDEF; } |
85
|
5 |
22 |
if (mq_unlink(name) == -1) { XSRETURN_UNDEF; } |
99
|
39 |
4 |
if (new_attr == NULL) |
101
|
0 |
39 |
if (mq_getattr(mqdes, &old_mqa) == -1) { XSRETURN_UNDEF; } |
105
|
4 |
0 |
new_mqa_ptr = (struct mq_attr*) SvPV(new_attr, new_mqa_len); |
107
|
0 |
4 |
if (mq_setattr(mqdes, new_mqa_ptr, &old_mqa) == -1) { XSRETURN_UNDEF; } |
122
|
88 |
0 |
msg_ptr = SvPV(msg, msg_len); |
123
|
2 |
86 |
if (mq_send(mqdes, msg_ptr, msg_len, msg_prio) == -1) { XSRETURN_UNDEF; } |
137
|
0 |
67 |
if ((msg_ptr = malloc(msg_max_len)) == NULL) { XSRETURN_EMPTY; } |
139
|
2 |
65 |
if (msg_len == -1) |
144
|
0 |
65 |
XPUSHs(sv_2mortal(newSVpvn(msg_ptr, msg_len))); |
145
|
0 |
65 |
XPUSHs(sv_2mortal(newSVuv(msg_prio))); |
162
|
0 |
2 |
if ((msg_ptr = malloc(msg_max_len)) == NULL) { XSRETURN_EMPTY; } |
165
|
1 |
1 |
if (msg_len == -1) |
170
|
0 |
1 |
XPUSHs(sv_2mortal(newSVpvn(msg_ptr, msg_len))); |
171
|
0 |
1 |
XPUSHs(sv_2mortal(newSVuv(msg_prio))); |
181
|
2 |
3 |
if (items > 1) |
184
|
2 |
0 |
sigev.sigev_signo = SvIV(ST(1)); |
188
|
0 |
5 |
if (mq_notify(mqdes, sigevp) == -1) { XSRETURN_UNDEF; } |
218
|
43 |
0 |
mqa_ptr = (struct mq_attr*) SvPV(mqa, mqa_len); |
220
|
0 |
43 |
XPUSHs(sv_2mortal(newSViv(mqa_ptr->mq_flags))); |
221
|
0 |
43 |
XPUSHs(sv_2mortal(newSViv(mqa_ptr->mq_maxmsg))); |
222
|
0 |
43 |
XPUSHs(sv_2mortal(newSViv(mqa_ptr->mq_msgsize))); |
223
|
0 |
43 |
XPUSHs(sv_2mortal(newSViv(mqa_ptr->mq_curmsgs))); |