mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-25 05:23:02 +01:00
Fixed and improved diagnostics when thread failed to start
This commit is contained in:
parent
dc4452eb0e
commit
42ffe4fcf8
@ -1790,23 +1790,19 @@ bool LockManager::create_process(ISC_STATUS* status_vector)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
#ifdef USE_BLOCKING_THREAD
|
#ifdef USE_BLOCKING_THREAD
|
||||||
const ULONG status = gds__thread_start(blocking_action_thread, this, THREAD_high, 0, 0);
|
try
|
||||||
if (status)
|
|
||||||
{
|
{
|
||||||
*status_vector++ = isc_arg_gds;
|
ThreadStart::start(blocking_action_thread, this, THREAD_high, 0);
|
||||||
*status_vector++ = isc_lockmanerr;
|
}
|
||||||
*status_vector++ = isc_arg_gds;
|
catch (const Firebird::Exception& ex)
|
||||||
*status_vector++ = isc_sys_request;
|
{
|
||||||
*status_vector++ = isc_arg_string;
|
ISC_STATUS_ARRAY vector;
|
||||||
#ifdef WIN_NT
|
ex.stuff_exception(vector);
|
||||||
*status_vector++ = (ISC_STATUS) "CreateThread";
|
|
||||||
*status_vector++ = isc_arg_win32;
|
Firebird::Arg::Gds result(isc_lockmanerr);
|
||||||
#else
|
result.append(Firebird::Arg::StatusVector(vector));
|
||||||
*status_vector++ = (ISC_STATUS) "thr_create";
|
result.copyTo(status_vector);
|
||||||
*status_vector++ = isc_arg_unix;
|
|
||||||
#endif
|
|
||||||
*status_vector++ = status;
|
|
||||||
*status_vector++ = isc_arg_end;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user