Show
Ignore:
Timestamp:
06/15/08 04:41:56 (6 months ago)
Author:
pmoura
Message:

Changed the thread cancellation process to not automatically releasing any locks, leaving that task to a catcher associated to the thread goal.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/compiler/logtalk.pl

    r4312 r4314  
    1337413374    (   catch(thread_peek_message(Id, '$lgt_master'), _, fail) -> 
    1337513375        catch(thread_send_message(Id, '$lgt_status'(_, terminate)), _, true) 
    13376     ;   catch(thread_signal(Id, '$lgt_mt_thread_abort'), _, true) 
     13376    ;   catch(thread_signal(Id, throw('$lgt_terminated')), _, true) 
    1337713377    ), 
    1337813378    '$lgt_mt_threaded_call_abort'(Ids). 
     
    1339313393    catch(thread_join(Id, _), _, true), 
    1339413394    '$lgt_mt_threaded_call_join'(Ids, Results). 
    13395  
    13396  
    13397 '$lgt_mt_thread_abort' :- 
    13398     mutex_unlock_all, 
    13399     throw('$lgt_terminated'). 
    1340013395 
    1340113396