mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 20:03:03 +01:00
Backported fix for CORE-1844: Valgrind often reports "Conditional jump or move depends on uninitialised value(s)" in check_status_vector()
This commit is contained in:
parent
b575348bef
commit
e1f2751218
File diff suppressed because it is too large
Load Diff
@ -4096,6 +4096,9 @@ static void shutdown_blocking_thread( ISC_STATUS * status_vector)
|
|||||||
event_t* event_ptr = LOCK_owner->own_wakeup;
|
event_t* event_ptr = LOCK_owner->own_wakeup;
|
||||||
SLONG value = ISC_event_clear(event_ptr);
|
SLONG value = ISC_event_clear(event_ptr);
|
||||||
|
|
||||||
|
/* Tell the scheduler to allow AST's to run */
|
||||||
|
AST_ENABLE();
|
||||||
|
|
||||||
/* wait for AST thread to start (or 5 secs) */
|
/* wait for AST thread to start (or 5 secs) */
|
||||||
startupSemaphore.tryEnter(5);
|
startupSemaphore.tryEnter(5);
|
||||||
|
|
||||||
@ -4103,9 +4106,6 @@ static void shutdown_blocking_thread( ISC_STATUS * status_vector)
|
|||||||
ISC_event_post(LOCK_owner->own_blocking);
|
ISC_event_post(LOCK_owner->own_blocking);
|
||||||
ISC_event_post(LOCK_owner->own_stall);
|
ISC_event_post(LOCK_owner->own_stall);
|
||||||
|
|
||||||
/* Tell the scheduler to allow AST's to run */
|
|
||||||
AST_ENABLE();
|
|
||||||
|
|
||||||
/* Wait for the AST thread to finish cleanup or for 10 seconds */
|
/* Wait for the AST thread to finish cleanup or for 10 seconds */
|
||||||
ISC_event_wait(1, &event_ptr, &value, 10 * 1000000,
|
ISC_event_wait(1, &event_ptr, &value, 10 * 1000000,
|
||||||
lock_alarm_handler, event_ptr);
|
lock_alarm_handler, event_ptr);
|
||||||
|
@ -196,25 +196,25 @@ static const SCHAR *isc_c_boiler_plate[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const SCHAR *isc_cpp_boiler_plate[] = {
|
static const SCHAR *isc_cpp_boiler_plate[] = {
|
||||||
"const ISC_LONG isc_arg_end = 0; // end of argument list ",
|
"const ISC_STATUS isc_arg_end = 0; // end of argument list ",
|
||||||
"const ISC_LONG isc_arg_gds = 1; // generic DSRI status value ",
|
"const ISC_STATUS isc_arg_gds = 1; // generic DSRI status value ",
|
||||||
"const ISC_LONG isc_arg_string = 2; // string argument ",
|
"const ISC_STATUS isc_arg_string = 2; // string argument ",
|
||||||
"const ISC_LONG isc_arg_cstring = 3; // count & string argument ",
|
"const ISC_STATUS isc_arg_cstring = 3; // count & string argument ",
|
||||||
"const ISC_LONG isc_arg_number = 4; // numeric argument (long) ",
|
"const ISC_STATUS isc_arg_number = 4; // numeric argument (long) ",
|
||||||
"const ISC_LONG isc_arg_interpreted = 5; // interpreted status code (string) ",
|
"const ISC_STATUS isc_arg_interpreted = 5; // interpreted status code (string) ",
|
||||||
"const ISC_LONG isc_arg_vms = 6; // VAX/VMS status code (long) ",
|
"const ISC_STATUS isc_arg_vms = 6; // VAX/VMS status code (long) ",
|
||||||
"const ISC_LONG isc_arg_unix = 7; // UNIX error code ",
|
"const ISC_STATUS isc_arg_unix = 7; // UNIX error code ",
|
||||||
"const ISC_LONG isc_arg_domain = 8; // Apollo/Domain error code ",
|
"const ISC_STATUS isc_arg_domain = 8; // Apollo/Domain error code ",
|
||||||
"const ISC_LONG isc_arg_dos = 9; // MSDOS/OS2 error code ",
|
"const ISC_STATUS isc_arg_dos = 9; // MSDOS/OS2 error code ",
|
||||||
"const ISC_LONG isc_arg_mpexl = 10; // HP MPE/XL error code ",
|
"const ISC_STATUS isc_arg_mpexl = 10; // HP MPE/XL error code ",
|
||||||
"const ISC_LONG isc_arg_mpexl_ipc = 11; // HP MPE/XL IPC error code ",
|
"const ISC_STATUS isc_arg_mpexl_ipc = 11; // HP MPE/XL IPC error code ",
|
||||||
|
|
||||||
// #'s 12-14 WERE USED BY TWIN SUN AND THUS MUST BE SKIPPED BY US!
|
// #'s 12-14 WERE USED BY TWIN SUN AND THUS MUST BE SKIPPED BY US!
|
||||||
|
|
||||||
"const ISC_LONG isc_arg_next_mach = 15; // NeXT/Mach error code ",
|
"const ISC_STATUS isc_arg_next_mach = 15; // NeXT/Mach error code ",
|
||||||
"const ISC_LONG isc_arg_netware = 16; // NetWare error code ",
|
"const ISC_STATUS isc_arg_netware = 16; // NetWare error code ",
|
||||||
"const ISC_LONG isc_arg_win32 = 17; // Win32 error code ",
|
"const ISC_STATUS isc_arg_win32 = 17; // Win32 error code ",
|
||||||
"const ISC_LONG isc_arg_warning = 18; // warning argument ",
|
"const ISC_STATUS isc_arg_warning = 18; // warning argument ",
|
||||||
"",
|
"",
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -396,11 +396,11 @@ static void build_iberror_h(void)
|
|||||||
fprintf(iberror, "\n#ifdef __cplusplus /* c++ definitions */\n\n");
|
fprintf(iberror, "\n#ifdef __cplusplus /* c++ definitions */\n\n");
|
||||||
|
|
||||||
fprintf(iberror,
|
fprintf(iberror,
|
||||||
"const ISC_LONG isc_facility = %d;\n", isc_facility_local);
|
"const ISC_STATUS isc_facility = %d;\n", isc_facility_local);
|
||||||
fprintf(iberror,
|
fprintf(iberror,
|
||||||
"const ISC_LONG isc_base = %"SLONGFORMAT"L;\n", isc_base_local);
|
"const ISC_STATUS isc_base = %"SLONGFORMAT"L;\n", isc_base_local);
|
||||||
fprintf(iberror,
|
fprintf(iberror,
|
||||||
"const ISC_LONG isc_factor = %"SLONGFORMAT";\n", isc_factor_local);
|
"const ISC_STATUS isc_factor = %"SLONGFORMAT";\n", isc_factor_local);
|
||||||
|
|
||||||
// Append the ISC C++ boiler plate
|
// Append the ISC C++ boiler plate
|
||||||
|
|
||||||
@ -424,13 +424,13 @@ static void build_iberror_h(void)
|
|||||||
}
|
}
|
||||||
last_code = N.CODE;
|
last_code = N.CODE;
|
||||||
new_code = ENCODE_ISC_MSG(S.NUMBER, N.FAC_CODE);
|
new_code = ENCODE_ISC_MSG(S.NUMBER, N.FAC_CODE);
|
||||||
fprintf(iberror, "const ISC_LONG isc_%-32.32s = %luL;\n", S.GDS_SYMBOL,
|
fprintf(iberror, "const ISC_STATUS isc_%-32.32s = %luL;\n", S.GDS_SYMBOL,
|
||||||
new_code);
|
new_code);
|
||||||
++code;
|
++code;
|
||||||
END_FOR;
|
END_FOR;
|
||||||
|
|
||||||
--code;
|
--code;
|
||||||
fprintf(iberror, "const ISC_LONG isc_%-32.32s = %d;\n", "err_max", code);
|
fprintf(iberror, "const ISC_STATUS isc_%-32.32s = %d;\n", "err_max", code);
|
||||||
fprintf(iberror, "\n");
|
fprintf(iberror, "\n");
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user