The Trunk: Traits-ul.276.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Traits-ul.276.mcz

commits-2
Levente Uzonyi uploaded a new version of Traits to project The Trunk:
http://source.squeak.org/trunk/Traits-ul.276.mcz

==================== Summary ====================

Name: Traits-ul.276
Author: ul
Time: 3 January 2010, 6:39:38 am
UUID: fb753d44-9786-0f4c-90c8-78f1395b6789
Ancestors: Traits-ar.275

- fix #unloadTraits, by temorarily moving ClassOrganizer >> #traitComposition from the Traits package to Kernel. This avoids an MNU while the Traits package is being unloaded.

=============== Diff against Traits-ar.275 ===============

Item was changed:
  ----- Method: Trait class>>unloadTraits (in category 'load-unload') -----
  unloadTraits
  "Trait unloadTraits"
  Trait traitImpl == self ifTrue:[Trait traitImpl: nil].
  self removeAllTraits.
  Behavior compileSilently: 'updateTraits' classified: 'accessing'.
+ ClassDescription removeSelectorSilently: #updateTraits.
+ ClassOrganizer organization classify: #traitComposition under: 'accessing'.
  (MCPackage named: 'Traits') unload.
+ ClassOrganizer removeSelectorSilently: #traitComposition.
  Behavior removeSelectorSilently: #updateTraits.
  Compiler recompileAll.!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Traits-ul.276.mcz

Andreas.Raab
[hidden email] wrote:

> Levente Uzonyi uploaded a new version of Traits to project The Trunk:
> http://source.squeak.org/trunk/Traits-ul.276.mcz
>
> ==================== Summary ====================
>
> Name: Traits-ul.276
> Author: ul
> Time: 3 January 2010, 6:39:38 am
> UUID: fb753d44-9786-0f4c-90c8-78f1395b6789
> Ancestors: Traits-ar.275
>
> - fix #unloadTraits, by temorarily moving ClassOrganizer >> #traitComposition from the Traits package to Kernel. This avoids an MNU while the Traits package is being unloaded.


Where did you see this being a problem? During unload, the only method
being called should be removeSelector and removeSelector is guarded via
updateTraits. I'm curious what you situation you've seen that
necessitates this change.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Re: The Trunk: Traits-ul.276.mcz

Levente Uzonyi-2
On Sun, 3 Jan 2010, Andreas Raab wrote:

> [hidden email] wrote:
>> Levente Uzonyi uploaded a new version of Traits to project The Trunk:
>> http://source.squeak.org/trunk/Traits-ul.276.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Traits-ul.276
>> Author: ul
>> Time: 3 January 2010, 6:39:38 am
>> UUID: fb753d44-9786-0f4c-90c8-78f1395b6789
>> Ancestors: Traits-ar.275
>>
>> - fix #unloadTraits, by temorarily moving ClassOrganizer >>
>> #traitComposition from the Traits package to Kernel. This avoids an MNU
>> while the Traits package is being unloaded.
>
>
> Where did you see this being a problem? During unload, the only method being
> called should be removeSelector and removeSelector is guarded via
> updateTraits. I'm curious what you situation you've seen that necessitates
> this change.

I got an MNU while the (MCPackage named: 'Traits') unload was executed.


Levente

>
> Cheers,
>  - Andreas
>
>