mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 10:43: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;
|
||||
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) */
|
||||
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_stall);
|
||||
|
||||
/* Tell the scheduler to allow AST's to run */
|
||||
AST_ENABLE();
|
||||
|
||||
/* Wait for the AST thread to finish cleanup or for 10 seconds */
|
||||
ISC_event_wait(1, &event_ptr, &value, 10 * 1000000,
|
||||
lock_alarm_handler, event_ptr);
|
||||
|
@ -196,25 +196,25 @@ static const SCHAR *isc_c_boiler_plate[] = {
|
||||
};
|
||||
|
||||
static const SCHAR *isc_cpp_boiler_plate[] = {
|
||||
"const ISC_LONG isc_arg_end = 0; // end of argument list ",
|
||||
"const ISC_LONG isc_arg_gds = 1; // generic DSRI status value ",
|
||||
"const ISC_LONG isc_arg_string = 2; // string argument ",
|
||||
"const ISC_LONG isc_arg_cstring = 3; // count & string argument ",
|
||||
"const ISC_LONG isc_arg_number = 4; // numeric argument (long) ",
|
||||
"const ISC_LONG isc_arg_interpreted = 5; // interpreted status code (string) ",
|
||||
"const ISC_LONG isc_arg_vms = 6; // VAX/VMS status code (long) ",
|
||||
"const ISC_LONG isc_arg_unix = 7; // UNIX error code ",
|
||||
"const ISC_LONG isc_arg_domain = 8; // Apollo/Domain error code ",
|
||||
"const ISC_LONG isc_arg_dos = 9; // MSDOS/OS2 error code ",
|
||||
"const ISC_LONG 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_end = 0; // end of argument list ",
|
||||
"const ISC_STATUS isc_arg_gds = 1; // generic DSRI status value ",
|
||||
"const ISC_STATUS isc_arg_string = 2; // string argument ",
|
||||
"const ISC_STATUS isc_arg_cstring = 3; // count & string argument ",
|
||||
"const ISC_STATUS isc_arg_number = 4; // numeric argument (long) ",
|
||||
"const ISC_STATUS isc_arg_interpreted = 5; // interpreted status code (string) ",
|
||||
"const ISC_STATUS isc_arg_vms = 6; // VAX/VMS status code (long) ",
|
||||
"const ISC_STATUS isc_arg_unix = 7; // UNIX error code ",
|
||||
"const ISC_STATUS isc_arg_domain = 8; // Apollo/Domain error code ",
|
||||
"const ISC_STATUS isc_arg_dos = 9; // MSDOS/OS2 error code ",
|
||||
"const ISC_STATUS isc_arg_mpexl = 10; // HP MPE/XL 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!
|
||||
|
||||
"const ISC_LONG isc_arg_next_mach = 15; // NeXT/Mach error code ",
|
||||
"const ISC_LONG isc_arg_netware = 16; // NetWare error code ",
|
||||
"const ISC_LONG isc_arg_win32 = 17; // Win32 error code ",
|
||||
"const ISC_LONG isc_arg_warning = 18; // warning argument ",
|
||||
"const ISC_STATUS isc_arg_next_mach = 15; // NeXT/Mach error code ",
|
||||
"const ISC_STATUS isc_arg_netware = 16; // NetWare error code ",
|
||||
"const ISC_STATUS isc_arg_win32 = 17; // Win32 error code ",
|
||||
"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,
|
||||
"const ISC_LONG isc_facility = %d;\n", isc_facility_local);
|
||||
"const ISC_STATUS isc_facility = %d;\n", isc_facility_local);
|
||||
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,
|
||||
"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
|
||||
|
||||
@ -424,13 +424,13 @@ static void build_iberror_h(void)
|
||||
}
|
||||
last_code = N.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);
|
||||
++code;
|
||||
END_FOR;
|
||||
|
||||
--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");
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user