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>
|
||||
<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: expects_dialect/1 directive (SWI compatibility).</li>
|
||||
<li> NEW: terms:unifiable/3 (SWI compatibility).</li>
|
||||
|
@ -570,8 +570,8 @@ message_queue_create(Name) :-
|
||||
'$create_mq'(Name) :-
|
||||
'$new_mutex'(Mutex),
|
||||
'$cond_create'(Cond),
|
||||
'$mq_iname'(Name, CName),
|
||||
'$global_queue_mutex'(QMutex),
|
||||
'$mq_iname'(Name, CName),
|
||||
'$lock_mutex'(QMutex),
|
||||
( recorded('$queue',q(Name,_,_, _),_) ->
|
||||
'$unlock_mutex'(QMutex),
|
||||
@ -583,11 +583,21 @@ message_queue_create(Name) :-
|
||||
|
||||
'$mq_iname'(I,X) :-
|
||||
integer(I), !,
|
||||
number_codes(I,Codes),
|
||||
atom_codes(X, [0'$,0'M,0'Q,0'_|Codes]).
|
||||
atomic_concat('$MQ_NAME_KEY_',I,X).
|
||||
'$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) :-
|
||||
atom_concat('$MQ_NAME_KEY_',A,X).
|
||||
|
||||
'$integers'(0).
|
||||
'$integers'(I) :-
|
||||
'$integers'(I1),
|
||||
I is I1+1.
|
||||
|
||||
|
||||
message_queue_destroy(Name) :-
|
||||
var(Name), !,
|
||||
|
Reference in New Issue
Block a user