handle message_queue_create/1 with vars right
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2160 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
7d6e7f2613
commit
e2519f4e3a
@ -17,6 +17,9 @@ xb
|
|||||||
|
|
||||||
<h2>Yap-5.1.3:</h2>
|
<h2>Yap-5.1.3:</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li> FIXED: handle message_queue_create/1 with vars right (obs from
|
||||||
|
Paulo Moura).</li>
|
||||||
|
<li> FIXED: handle thread overflow right (obs from Paulo Moura).</li>
|
||||||
<li> NEW: upgrade clpqr and chr (SWI compatibility).</li>
|
<li> NEW: upgrade clpqr and chr (SWI compatibility).</li>
|
||||||
<li> NEW: expects_dialect/1 directive (SWI compatibility).</li>
|
<li> NEW: expects_dialect/1 directive (SWI compatibility).</li>
|
||||||
<li> NEW: terms:unifiable/3 (SWI compatibility).</li>
|
<li> NEW: terms:unifiable/3 (SWI compatibility).</li>
|
||||||
|
@ -570,8 +570,8 @@ message_queue_create(Name) :-
|
|||||||
'$create_mq'(Name) :-
|
'$create_mq'(Name) :-
|
||||||
'$new_mutex'(Mutex),
|
'$new_mutex'(Mutex),
|
||||||
'$cond_create'(Cond),
|
'$cond_create'(Cond),
|
||||||
'$mq_iname'(Name, CName),
|
|
||||||
'$global_queue_mutex'(QMutex),
|
'$global_queue_mutex'(QMutex),
|
||||||
|
'$mq_iname'(Name, CName),
|
||||||
'$lock_mutex'(QMutex),
|
'$lock_mutex'(QMutex),
|
||||||
( recorded('$queue',q(Name,_,_, _),_) ->
|
( recorded('$queue',q(Name,_,_, _),_) ->
|
||||||
'$unlock_mutex'(QMutex),
|
'$unlock_mutex'(QMutex),
|
||||||
@ -583,11 +583,21 @@ message_queue_create(Name) :-
|
|||||||
|
|
||||||
'$mq_iname'(I,X) :-
|
'$mq_iname'(I,X) :-
|
||||||
integer(I), !,
|
integer(I), !,
|
||||||
number_codes(I,Codes),
|
atomic_concat('$MQ_NAME_KEY_',I,X).
|
||||||
atom_codes(X, [0'$,0'M,0'Q,0'_|Codes]).
|
'$mq_iname'(A,X) :-
|
||||||
|
var(A), !,
|
||||||
|
'$integers'(I),
|
||||||
|
atomic_concat(message_queue_,I,A),
|
||||||
|
atomic_concat('$MQ_NAME_KEY_',A,X),
|
||||||
|
\+ recorded('$queue',q(A,_,_, X),_), !.
|
||||||
'$mq_iname'(A,X) :-
|
'$mq_iname'(A,X) :-
|
||||||
atom_concat('$MQ_NAME_KEY_',A,X).
|
atom_concat('$MQ_NAME_KEY_',A,X).
|
||||||
|
|
||||||
|
'$integers'(0).
|
||||||
|
'$integers'(I) :-
|
||||||
|
'$integers'(I1),
|
||||||
|
I is I1+1.
|
||||||
|
|
||||||
|
|
||||||
message_queue_destroy(Name) :-
|
message_queue_destroy(Name) :-
|
||||||
var(Name), !,
|
var(Name), !,
|
||||||
|
Reference in New Issue
Block a user