Changeset 4460 for trunk/compiler

Show
Ignore:
Timestamp:
08/31/08 05:41:10 (4 months ago)
Author:
pmoura
Message:

Corrected a bug in the implementation of the threaded_once/1-2 built-in multi-threading predicates (use of detached threads could make the methods fail despite the success of the thread goals).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4456 r4460  
    1326513265        thread_get_message(Queue, '$lgt_thread_id'(Type, Goal, This, Self, Tag, Id)), 
    1326613266        (   Type == once -> 
    13267             '$lgt_mt_det_reply'(Queue, Goal, This, Self, Tag, Id), 
    13268             thread_join(Id, _) 
     13267            call_cleanup( 
     13268                '$lgt_mt_det_reply'(Queue, Goal, This, Self, Tag, Id), 
     13269                thread_join(Id, _)) 
    1326913270        ;   call_cleanup( 
    1327013271                '$lgt_mt_non_det_reply'(Queue, Goal, This, Self, Tag, Id),