NTDLL: implement NtSignalAndWaitForSingleObject
Robert Shearman
rob at codeweavers.com
Mon Apr 18 19:30:25 CDT 2005
Robert Shearman wrote:
> Mike McCormack wrote:
>
>>
>>> I think this is a little ugly. I'd prefer to see this code do a
>>> switch on obj->ops and call the relevant function with the raw
>>> object instead of a handle.
>>
>>
>>
>> I know it's ugly; I rewrote that bit three times, including once with
>> an ops->signal() method. Implementing a object operation requires
>> that the 3 operations are consistent. For example, the access flags
>> required to perform must be consistent, so the get_handle_obj can be
>> done only once. Unfortunately, semaphores and event flags require
>> different permissions to execute ops->signal().
>
>
> Ok, I see the problem now. The only alternative I can think of is to
> try to open the object with the GENERIC_WRITE access right and
> implement generic mappings for each object (these mappings are really
> needed anyway for other situaitons).
Actually, I just thought about one more solution. You could open the
object with using an access right of 0, meaning that anything is
accepted, then check the access right manually. Still a bit of a kludge,
but I think it is better than the brute force chaining.
Rob
More information about the wine-devel
mailing list