server: ReleaseMutex doesn't need any access rights.

This commit is contained in:
Bernhard Loos 2011-09-14 14:49:03 +02:00 committed by Alexandre Julliard
parent 7b63fa658a
commit 0d36c27e3b
2 changed files with 5 additions and 3 deletions

View File

@ -158,13 +158,15 @@ static void test_mutex(void)
for (i = 0; i < 32; i++)
{
hOpened = OpenMutex(0x1 << i, FALSE, "WineTestMutex");
ReleaseMutex(hCreated);
if(hOpened != NULL)
{
ret = ReleaseMutex(hOpened);
ok(ret, "ReleaseMutex failed with error %d, access %x\n", GetLastError(), 1 << i);
CloseHandle(hOpened);
}
else
{
ReleaseMutex(hCreated);
failed |=0x1 << i;
}
}

View File

@ -175,7 +175,7 @@ static int mutex_signal( struct object *obj, unsigned int access )
struct mutex *mutex = (struct mutex *)obj;
assert( obj->ops == &mutex_ops );
if (!(access & SYNCHRONIZE)) /* FIXME: MUTEX_MODIFY_STATE? */
if (!(access & SYNCHRONIZE))
{
set_error( STATUS_ACCESS_DENIED );
return 0;
@ -265,7 +265,7 @@ DECL_HANDLER(release_mutex)
struct mutex *mutex;
if ((mutex = (struct mutex *)get_handle_obj( current->process, req->handle,
MUTEX_MODIFY_STATE, &mutex_ops )))
0, &mutex_ops )))
{
if (!mutex->count || (mutex->owner != current)) set_error( STATUS_MUTANT_NOT_OWNED );
else