[2/2] server: A being destroyed object may need to access other objects using a handle.

Alexandre Julliard julliard at winehq.org
Fri May 24 05:11:59 CDT 2013


Dmitry Timoshkov <dmitry at baikal.ru> writes:

> Alexandre Julliard <julliard at winehq.org> wrote:
>
>> > --- a/server/handle.c
>> > +++ b/server/handle.c
>> > @@ -165,7 +165,6 @@ static void handle_table_destroy( struct object *obj )
>> >      for (i = 0, entry = table->entries; i <= table->last; i++, entry++)
>> >      {
>> >          struct object *obj = entry->ptr;
>> > -        entry->ptr = NULL;
>> >          if (obj) release_object( obj );
>> 
>> You can't do that, the object can't be accessed after being released.
>
> Being released doesn't mean destroyed. An object gets destroyed only if its
> refcount drops to 0.

Obviously, but in general the handle will be the only reference.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list