Issue Details (XML | Word | Printable)

Key: CORE-2446
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Vlad Khorsun
Reporter: Yurij
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
Firebird Core

"firebird_trace_mutex" global object cannot be created from client library, when server engine is running as service on the same machine

Created: 01/May/09 08:28 PM   Updated: 01/May/09 10:11 PM
Component/s: API / Client Library, Engine
Affects Version/s: 2.1.1, 2.1.2
Fix Version/s: None

Windows XP
Windows 2003

 Description  « Hide
1. Firebird client library cannot create global mutex "firebird_trace_mutex" for trace log file thread-safe access, when firebird server engine is running on the same machine.

 The call in file gds.cpp
 HANDLE trace_mutex_handle = CreateMutex(NULL, FALSE, "firebird_trace_mutex");
  returns NULL and GetLastError returns 5(ACCESS_IS_DENIED).

2. Different trace log files from different server instances or client application instances are protected by same global mutex.

3. All WaitForSingleObject calls on trace_mutex_handle don`t contain error code checks. Also in case of exception in mutex-protected code block, corresponding ReleaseMutex won`t be called.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dmitry Yemanov made changes - 01/May/09 10:11 PM
Field Original Value New Value
Assignee Vlad Khorsun [ hvlad ]