From: Mark O. <sky...@us...> - 2002-07-29 15:37:58
|
Build Version : T2.0.0.510 Firebird2 Dev1 (writeBuildNum.sh,v 1.489 2002/07/29 15:37:56 skywalker Exp ) Update of /cvsroot/firebird/firebird2/src/jrd In directory usw-pr-cvs1:/tmp/cvs-serv2933/jrd Modified Files: alt.cpp blob_filter.epp build_no.h dyn.epp fun.epp gds.cpp ibsetjmp.h intl.cpp isc.cpp isc_sync.cpp jrd.h opt.cpp status.cpp status.h thd.cpp vio.cpp why.c Log Message: Changes to make fb2 compile super version for linux Index: alt.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/alt.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- alt.cpp 29 Jun 2002 13:00:56 -0000 1.4 +++ alt.cpp 29 Jul 2002 15:37:53 -0000 1.5 @@ -28,7 +28,6 @@ #include <string.h> #include "../jrd/ib_stdio.h" #include "../jrd/common.h" -#include "../jrd/alt_use_sec.h" #define IS_VALID_SERVER(server) if (!server || !*server) \ { \ @@ -898,7 +897,7 @@ * Return > 0 if any error occurs. * **************************************/ -#ifdef PHASE_1_BUILD_NO_SECURITY_DB +#ifdef BOOT_BUILD return 1; #else USHORT retval = 0, l; @@ -1083,7 +1082,7 @@ * Return > 0 if any error occurs. * **************************************/ -#ifdef PHASE_1_BUILD_NO_SECURITY_DB +#ifdef BOOT_BUILD return 1; #else USHORT retval = 0, l; @@ -1148,7 +1147,7 @@ * Return > 0 if any error occurs. * **************************************/ -#ifdef PHASE_1_BUILD_NO_SECURITY_DB +#ifdef BOOT_BUILD return 1; #else USHORT retval = 0, l; @@ -1305,7 +1304,7 @@ * Returns NULL otherwise * **************************************/ -#ifdef PHASE_1_BUILD_NO_SECURITY_DB +#ifdef BOOT_BUILD return 0; #else short dpb_length, l = 0; Index: blob_filter.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/blob_filter.epp,v retrieving revision 1.3 retrieving revision 1.4 diff -b -U3 -r1.3 -r1.4 --- blob_filter.epp 24 Dec 2001 02:50:50 -0000 1.3 +++ blob_filter.epp 29 Jul 2002 15:37:53 -0000 1.4 @@ -111,7 +111,7 @@ callback = next->ctl_source; status = SUCCESS; - START_CHECK_FOR_EXCEPTIONS(next->ctl_exception_message) + START_CHECK_FOR_EXCEPTIONS( (TEXT*) next->ctl_exception_message) /* Sign off from filter */ /* Walk the chain again, telling each filter stage to close */ @@ -190,7 +190,7 @@ control->ctl_buffer = buffer; control->ctl_buffer_length = buffer_length; - START_CHECK_FOR_EXCEPTIONS(control->ctl_exception_message) + START_CHECK_FOR_EXCEPTIONS((TEXT*) control->ctl_exception_message) user_status[0] = gds_arg_gds; user_status[1] = SUCCESS; @@ -302,7 +302,7 @@ control->ctl_buffer = buffer; control->ctl_buffer_length = length; - START_CHECK_FOR_EXCEPTIONS(control->ctl_exception_message) + START_CHECK_FOR_EXCEPTIONS( (TEXT*) control->ctl_exception_message) user_status[0] = gds_arg_gds; user_status[1] = SUCCESS; @@ -413,7 +413,7 @@ control->ctl_bpb = bpb; control->ctl_bpb_length = bpb_length; - START_CHECK_FOR_EXCEPTIONS(control->ctl_exception_message) + START_CHECK_FOR_EXCEPTIONS( (TEXT*) control->ctl_exception_message) /* Initialize filter */ status = (*filter->blf_filter) (action, control); Index: build_no.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/build_no.h,v retrieving revision 1.7 retrieving revision 1.8 diff -b -U3 -r1.7 -r1.8 --- build_no.h 5 Jul 2002 15:00:19 -0000 1.7 +++ build_no.h 29 Jul 2002 15:37:53 -0000 1.8 @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:455 + FORMAL BUILD NUMBER:485 */ -#define PRODUCT_VER_STRING "2.0.0.455" -#define FILE_VER_STRING "WI-T2.0.0.455" -#define LICENSE_VER_STRING "WI-T2.0.0.455" -#define FILE_VER_NUMBER 2, 0, 0, 455 +#define PRODUCT_VER_STRING "2.0.0.485" +#define FILE_VER_STRING "WI-T2.0.0.485" +#define LICENSE_VER_STRING "WI-T2.0.0.485" +#define FILE_VER_NUMBER 2, 0, 0, 485 #define FB_MAJOR_VER "2" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "455" +#define FB_BUILD_NO "485" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird2 Dev1" Index: dyn.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/dyn.epp,v retrieving revision 1.7 retrieving revision 1.8 diff -b -U3 -r1.7 -r1.8 --- dyn.epp 5 Jul 2002 15:00:19 -0000 1.7 +++ dyn.epp 29 Jul 2002 15:37:53 -0000 1.8 @@ -206,7 +206,6 @@ **************************************/ TDBB tdbb; STATUS local_status[20], *v1, *v2, *end, arg; - TEXT *error_buffer; tdbb = GET_THREAD_DATA; @@ -214,8 +213,7 @@ if (tdbb->tdbb_status_vector[1] == gds_no_meta_update) return; - error_buffer = - (TEXT *) gds__alloc((SLONG) (sizeof(TEXT) * BUFFER_MEDIUM)); + TEXT error_buffer[BUFFER_MEDIUM]; if (number) gds__msg_format(NULL_PTR, DYN_MSG_FAC, number, Index: fun.epp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/fun.epp,v retrieving revision 1.5 retrieving revision 1.6 diff -b -U3 -r1.5 -r1.6 --- fun.epp 30 Jun 2002 10:44:49 -0000 1.5 +++ fun.epp 29 Jul 2002 15:37:53 -0000 1.6 @@ -157,7 +157,7 @@ try { #endif - START_CHECK_FOR_EXCEPTIONS(function->fun_exception_message); + START_CHECK_FOR_EXCEPTIONS( (TEXT*) function->fun_exception_message); // If the return data type is any of the string types, // allocate space to hold value Index: gds.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/gds.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -b -U3 -r1.14 -r1.15 --- gds.cpp 5 Jul 2002 15:00:20 -0000 1.14 +++ gds.cpp 29 Jul 2002 15:37:53 -0000 1.15 @@ -4763,19 +4763,19 @@ /* Increase max open files to hard limit for Unix platforms which are known to have low soft limits. */ - struct rlimit old, new; + struct rlimit old, new_; if (!getrlimit(RLIMIT_NOFILE, &old) && old.rlim_cur < old.rlim_max) { - new.rlim_cur = new.rlim_max = old.rlim_max; - if (!setrlimit(RLIMIT_NOFILE, &new)) + new_.rlim_cur = new_.rlim_max = old.rlim_max; + if (!setrlimit(RLIMIT_NOFILE, &new_)) #if (defined UNIX_64_BIT_IO && defined SOLARIS) gds__log("64 bit i/o support is on."); gds__log("Open file limit increased from %lld to %lld", - old.rlim_cur, new.rlim_cur); + old.rlim_cur, new_.rlim_cur); #else gds__log("Open file limit increased from %d to %d", - old.rlim_cur, new.rlim_cur); + old.rlim_cur, new_.rlim_cur); #endif } } Index: ibsetjmp.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/ibsetjmp.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -b -U3 -r1.1.1.1 -r1.2 --- ibsetjmp.h 23 May 2001 13:26:11 -0000 1.1.1.1 +++ ibsetjmp.h 29 Jul 2002 15:37:54 -0000 1.2 @@ -25,24 +25,28 @@ #define _JRD_IBSETJMP_H_ +#ifdef HAVE_SETJMP_H #include <setjmp.h> +#endif #define SETJMP setjmp #define LONGJMP longjmp #define JMP_BUF jmp_buf -#ifdef UNIX +#ifdef HAVE_SIGNAL_H #include <signal.h> +#endif #define SIGSETJMP sigsetjmp #define SIGLONGJMP siglongjmp #define SIGJMP_BUF sigjmp_buf +#ifdef UNIX #ifdef SUPERSERVER #define START_CHECK_FOR_EXCEPTIONS(err) { \ SIGJMP_BUF sigenv; \ int sig; \ - tdbb->tdbb_sigsetjmp = (UCHAR*) sigenv; \ + tdbb->tdbb_sigsetjmp = sigenv; \ if (sig = SIGSETJMP (sigenv, 1)) \ ISC_exception_post(sig, err); \ ISC_sync_signals_set(); Index: intl.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/intl.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -b -U3 -r1.9 -r1.10 --- intl.cpp 6 Jul 2002 05:31:56 -0000 1.9 +++ intl.cpp 29 Jul 2002 15:37:54 -0000 1.10 @@ -205,8 +205,8 @@ #ifndef INTL_MODULE1 /* prefixed with $INTERBASE */ -#define INTL_MODULE1 "gdsintl" -#define INTL_MODULE2 "gdsintl2" +#define INTL_MODULE1 "fbintl" +#define INTL_MODULE2 "fbintl2" #endif #ifndef __BORLANDC__ Index: isc.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/isc.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -b -U3 -r1.11 -r1.12 Index: isc_sync.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/isc_sync.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -b -U3 -r1.11 -r1.12 --- isc_sync.cpp 6 Jul 2002 05:31:56 -0000 1.11 +++ isc_sync.cpp 29 Jul 2002 15:37:54 -0000 1.12 @@ -49,7 +49,7 @@ #include <assert.h> #endif -#ifdef DARWIN +#ifdef HAVE_SETJMP_H #include <setjmp.h> #endif @@ -4853,7 +4853,7 @@ tdbb = GET_THREAD_DATA; - siglongjmp((sigjmp_buf)tdbb->tdbb_sigsetjmp, sig_num); + siglongjmp(tdbb->tdbb_sigsetjmp, sig_num); } #endif /* UNIX */ #endif /* SUPERSERVER */ Index: jrd.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/jrd.h,v retrieving revision 1.8 retrieving revision 1.9 diff -b -U3 -r1.8 -r1.9 --- jrd.h 2 Jul 2002 09:49:19 -0000 1.8 +++ jrd.h 29 Jul 2002 15:37:54 -0000 1.9 @@ -36,6 +36,10 @@ #endif +#ifdef HAVE_SETJMP_H +#include <setjmp.h> +#endif + #ifdef DEV_BUILD #define DEBUG if (debug) DBG_supervisor(debug); #define VIO_DEBUG /* remove this for production build */ @@ -54,13 +58,24 @@ #define IBERROR(number) ERR_error (number) */ + #define BLKCHK(blk, type) if (MemoryPool::blk_type(blk) != (USHORT) (type)) BUGCHECK (147) /* DEV_BLKCHK is used for internal consistency checking - where * the performance hit in production build isn't desired. * (eg: scatter this everywhere) + * + * This causes me a problem DEV_BLKCHK fails when the data seems valid + * After talking to John this could be because the memory is from the local + * stack rather than the heap. However I found to continue I needed to + * turn it off by dfining the macro to be empty. But In thinking about + * it I think that it would be more helful for a mode where these extra + * DEV checks just gave warnings rather than being fatal. + * MOD 29-July-2002 + * */ #ifdef DEV_BUILD +// #define DEV_BLKCHK(blk,type) #define DEV_BLKCHK(blk,type) if (blk) {BLKCHK (blk, type);} #else #define DEV_BLKCHK(blk,type) /* nothing */ @@ -831,7 +846,14 @@ struct iuo tdbb_mutexes; struct iuo tdbb_rw_locks; struct iuo tdbb_pages; + + // ansi c want's sigsetjmp to be a different type. So I've used that + // for unix implementations. MOD 12-July-2002 +#ifdef WIN32 void* tdbb_sigsetjmp; +#else + jmp_buf tdbb_sigsetjmp; +#endif } *TDBB; #define TDBB_sweeper 1 /* Thread sweeper or garbage collector */ Index: opt.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/opt.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -b -U3 -r1.9 -r1.10 --- opt.cpp 1 Jul 2002 16:59:09 -0000 1.9 +++ opt.cpp 29 Jul 2002 15:37:54 -0000 1.10 @@ -1696,6 +1696,7 @@ DEV_BLKCHK(boolean_node, type_nod); DEV_BLKCHK(*stack, type_lls); DEV_BLKCHK(csb, type_csb); + if (boolean_node->nod_type == nod_and) return decompose(tdbb, boolean_node->nod_arg[0], stack, csb) + Index: status.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/status.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -b -U3 -r1.2 -r1.3 --- status.cpp 29 Jul 2001 17:42:22 -0000 1.2 +++ status.cpp 29 Jul 2002 15:37:54 -0000 1.3 @@ -69,7 +69,6 @@ case gds_arg_vms: case gds_arg_unix: - case gds_arg_domain: case gds_arg_dos: case gds_arg_mpexl: case gds_arg_next_mach: @@ -91,11 +90,12 @@ void PARSE_STATUS(STATUS * status_vector, int &length, int &warning) { - int i; warning = 0; length = 0; - for (i = 0; status_vector[i] != gds_arg_end; i++, length++) + int i = 0; + + for (; status_vector[i] != gds_arg_end; i++, length++) { switch (status_vector[i]) { @@ -108,7 +108,6 @@ case gds_arg_number: case gds_arg_vms: case gds_arg_unix: - case gds_arg_domain: case gds_arg_dos: case gds_arg_mpexl: case gds_arg_next_mach: Index: status.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/status.h,v retrieving revision 1.1 retrieving revision 1.2 diff -b -U3 -r1.1 -r1.2 --- status.h 12 Jul 2001 06:32:03 -0000 1.1 +++ status.h 29 Jul 2002 15:37:54 -0000 1.2 @@ -4,18 +4,13 @@ #include <stdlib.h> // size_t #include "../jrd/common.h" // STATUS -#ifdef HAVE_STDARG_H -#include <stdarg.h> -#endif - #define MAX_ERRMSG_LEN 128 #define MAX_ERRSTR_LEN 255 #ifdef __cplusplus /* only allow these functions from C++ code (use of reference) */ -//void STUFF_STATUS_function(STATUS* status_vector, STATUS status, va_list args); -void STUFF_STATUS_function(STATUS* , STATUS , va_list ); +void STUFF_STATUS_function(STATUS* status_vector, STATUS status, va_list args); void PARSE_STATUS(STATUS * status_vector, int &length, int &warning); #endif Index: thd.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/thd.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -b -U3 -r1.4 -r1.5 --- thd.cpp 24 Dec 2001 02:50:52 -0000 1.4 +++ thd.cpp 29 Jul 2002 15:37:54 -0000 1.5 @@ -2065,7 +2065,7 @@ #else #ifdef linux - if (state = pthread_create(&thread, NULL, routine, arg)) + if (state = pthread_create(&thread, NULL, (void*(*)(void*))routine, arg)) return state; return pthread_detach(thread); #else Index: vio.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/vio.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -b -U3 -r1.8 -r1.9 --- vio.cpp 1 Jul 2002 15:07:18 -0000 1.8 +++ vio.cpp 29 Jul 2002 15:37:54 -0000 1.9 @@ -3464,9 +3464,21 @@ } } } + } + catch (...) { + /* Perfunctory error reporting -- got any better ideas ? */ + + gds__log_status(dbb->dbb_file->fil_string, status_vector); + if (relation && relation->rel_sweep_count) { + --relation->rel_sweep_count; + } + } + gc_exit: + try { + if (rpb.rpb_record) delete rpb.rpb_record; /* Possibly allocated from permanent pool. */ if (transaction) @@ -3488,9 +3500,6 @@ /* Perfunctory error reporting -- got any better ideas ? */ gds__log_status(dbb->dbb_file->fil_string, status_vector); - if (relation && relation->rel_sweep_count) { - --relation->rel_sweep_count; - } } } #endif Index: why.c =================================================================== RCS file: /cvsroot/firebird/firebird2/src/jrd/why.c,v retrieving revision 1.11 retrieving revision 1.12 diff -b -U3 -r1.11 -r1.12 --- why.c 6 Jul 2002 05:31:56 -0000 1.11 +++ why.c 29 Jul 2002 15:37:54 -0000 1.12 @@ -79,12 +79,17 @@ #include "../dsql/prepa_proto.h" #include "../dsql/utld_proto.h" -#ifdef UNIX +#ifdef HAVE_ERRNO_H #include <errno.h> +#endif + + +#ifdef HAVE_FCNTL_H #include <fcntl.h> -#if !(defined SEEK_END && defined F_OK) -#include <unistd.h> #endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> #endif #ifdef WIN_NT |