1 int create_window_handle(int x
);
2 void WIN_ReleasePtr(int x
);
3 void EnterCriticalSection(int x
);
4 void LeaveCriticalSection(int x
);
6 void USER_Unlock(void);
7 int GDI_GetObjPtr(int x
);
8 void GDI_ReleaseObj(int x
);
14 b
= create_window_handle(a
);
17 if (d
= GDI_GetObjPtr(e
))
21 EnterCriticalSection(c
);
24 LeaveCriticalSection(c
);
32 LeaveCriticalSection(c
);
35 * check-name: WINE locking
36 * check-command: smatch -p=wine --spammy sm_wine_locking.c
39 sm_wine_locking.c:27 test1() error: double unlock 'create_window_handle:b'
40 sm_wine_locking.c:29 test1() warn: 'CriticalSection:c' is sometimes locked here and sometimes unlocked.
41 sm_wine_locking.c:32 test1() warn: inconsistent returns 'USER_Lock:'.