From: Alexander P. <ale...@us...> - 2004-08-30 18:11:48
|
Build Version : T2.0.0.8222 Firebird 2.0 UNSTABLE (writeBuildNum.sh,v 1.8223 2004/08/30 18:11:01 alexpeshkoff ) Update of /cvsroot/firebird/firebird2/src/remote In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20878/remote Modified Files: interface.cpp remote.cpp remote.h server.cpp Log Message: added (and used in sources) template to change and restore default pool Index: interface.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/remote/interface.cpp,v retrieving revision 1.87 retrieving revision 1.88 diff -b -U3 -r1.87 -r1.88 --- interface.cpp 8 Jun 2004 13:39:50 -0000 1.87 +++ interface.cpp 30 Aug 2004 18:11:06 -0000 1.88 @@ -256,7 +256,7 @@ * **************************************/ UCHAR expanded_name[MAXPATHLEN]; - trdb thd_context; + trdb thd_context(user_status); trdb* tdrdb; TEXT node_name[MAXPATHLEN]; @@ -324,7 +324,6 @@ RDB rdb = port->port_context; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try { @@ -373,7 +372,8 @@ * Provide information on blob object. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -383,7 +383,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; ISC_STATUS status; @@ -414,7 +413,8 @@ * Abort a partially completed blob. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; RBL blob = *blob_handle; if (!blob) { @@ -433,7 +433,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try { @@ -465,7 +464,8 @@ * Cancel an outstanding event. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -473,7 +473,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -514,7 +513,8 @@ * Close a completed blob. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -523,7 +523,6 @@ RDB rdb = blob->rbl_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -565,7 +564,8 @@ * Commit a transaction. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -575,7 +575,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -608,7 +607,8 @@ * Functional description * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -618,7 +618,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -655,7 +654,8 @@ * Functional description * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -666,7 +666,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -768,7 +767,8 @@ * Open an existing blob. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -779,7 +779,6 @@ RTR transaction = *rtr_handle; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -850,7 +849,8 @@ * **************************************/ UCHAR expanded_name[MAXPATHLEN]; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; TEXT node_name[MAXPATHLEN]; memset((void *) node_name, 0, (size_t) MAXPATHLEN); @@ -913,7 +913,6 @@ RDB rdb = port->port_context; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -965,7 +964,8 @@ **************************************/ ISC_STATUS status; UCHAR temp[1024]; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -973,7 +973,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1037,7 +1036,8 @@ * **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1049,7 +1049,6 @@ RTR transaction = *rtr_handle; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1093,7 +1092,8 @@ * Close down a database. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1102,7 +1102,6 @@ rem_port* port = rdb->rdb_port; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1178,7 +1177,8 @@ * **************************************/ ISC_STATUS_ARRAY local_status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1186,7 +1186,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -1246,7 +1245,8 @@ * Allocate a statement handle. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1255,7 +1255,6 @@ CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1345,7 +1344,8 @@ * Execute a non-SELECT dynamic SQL statement. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1361,7 +1361,6 @@ rem_port* port = rdb->rdb_port; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1557,7 +1556,8 @@ * Prepare and execute a statement. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1572,7 +1572,6 @@ rem_port* port = rdb->rdb_port; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1737,7 +1736,8 @@ * **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -1748,7 +1748,6 @@ RDB rdb = statement->rsr_rdb; rem_port* port = rdb->rdb_port; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -1998,7 +1997,8 @@ * Release request for a Dynamic SQL statement * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2009,7 +2009,6 @@ RDB rdb = statement->rsr_rdb; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2070,7 +2069,8 @@ * Insert next record into a dynamic SQL cursor. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2080,7 +2080,6 @@ CHECK_HANDLE(statement, type_rsr, isc_bad_req_handle); RDB rdb = statement->rsr_rdb; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2172,7 +2171,8 @@ * Prepare a dynamic SQL statement for execution. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2187,7 +2187,6 @@ CHECK_HANDLE(transaction, type_rtr, isc_bad_trans_handle); } rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2276,7 +2275,8 @@ * parameter. * *****************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2286,7 +2286,6 @@ CHECK_HANDLE(statement, type_rsr, isc_bad_req_handle); RDB rdb = statement->rsr_rdb; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2346,7 +2345,8 @@ * **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2356,7 +2356,6 @@ CHECK_HANDLE(statement, type_rsr, isc_bad_req_handle); RDB rdb = statement->rsr_rdb; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2396,7 +2395,8 @@ * them one by one to the caller. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2407,7 +2407,6 @@ RDB rdb = blob->rbl_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -2632,7 +2631,8 @@ * Snatch a slice of an array. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2641,7 +2641,6 @@ CHECK_HANDLE((*tra_handle), type_rtr, isc_bad_trans_handle); RTR transaction = *tra_handle; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2736,7 +2735,8 @@ * Open an existing blob. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2746,7 +2746,6 @@ CHECK_HANDLE((*rtr_handle), type_rtr, isc_bad_trans_handle); RTR transaction = *rtr_handle; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2812,7 +2811,8 @@ * phase commit. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2821,7 +2821,6 @@ RDB rdb = (*rtr_handle)->rtr_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -2875,7 +2874,8 @@ * batch put. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2886,7 +2886,6 @@ RDB rdb = blob->rbl_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -2972,7 +2971,8 @@ * Store a slice of an array. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -2981,7 +2981,6 @@ CHECK_HANDLE((*tra_handle), type_rtr, isc_bad_trans_handle); RTR transaction = *tra_handle; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3066,14 +3065,14 @@ * Queue a request for event notification. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); RDB rdb = *handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; PACKET* packet = &rdb->rdb_packet; @@ -3180,7 +3179,8 @@ * Remote server to send it to us if necessary. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3191,7 +3191,6 @@ RDB rdb = request->rrq_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3420,7 +3419,8 @@ * Functional description * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3428,7 +3428,6 @@ RDB rdb = *db_handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3467,7 +3466,8 @@ * Release a request. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3476,7 +3476,6 @@ RDB rdb = request->rrq_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3514,7 +3513,8 @@ * **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3523,7 +3523,6 @@ RDB rdb = request->rrq_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3612,7 +3611,8 @@ * Abort a transaction but keep its environment valid * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3621,7 +3621,6 @@ RDB rdb = (*rtr_handle)->rtr_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3657,7 +3656,8 @@ * Abort a transaction. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3666,7 +3666,6 @@ RDB rdb = (*rtr_handle)->rtr_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3702,7 +3701,8 @@ * Seek into a blob. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3711,7 +3711,6 @@ RDB rdb = blob->rbl_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3764,7 +3763,8 @@ * Send a message to the server. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3776,7 +3776,6 @@ return handle_error(user_status, isc_badmsgnum); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3830,7 +3829,8 @@ * **************************************/ UCHAR expanded_name[MAXPATHLEN]; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3887,7 +3887,6 @@ RDB rdb = port->port_context; rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -3941,7 +3940,8 @@ * Close down a connection to an Interbase service. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -3950,7 +3950,6 @@ RDB rdb = *handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_svc_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -4011,7 +4010,8 @@ * a later date. **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4020,7 +4020,6 @@ RDB rdb = *svc_handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_svc_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -4066,7 +4065,8 @@ * a later date. **************************************/ ISC_STATUS status; - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4075,7 +4075,6 @@ RDB rdb = *svc_handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_svc_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -4117,7 +4116,8 @@ * Get a record from the host program. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4130,7 +4130,6 @@ if (msg_type > request->rrq_max_msg) return handle_error(user_status, isc_badmsgnum); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -4204,7 +4203,8 @@ * Get a record from the host program. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4215,7 +4215,6 @@ RDB rdb = request->rrq_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -4278,7 +4277,8 @@ * Start a transaction. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4286,7 +4286,6 @@ RDB rdb = *db_handle; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try @@ -4332,7 +4331,8 @@ * Execute a procedure on remote host. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4341,7 +4341,6 @@ RTR transaction = *rtr_handle; CHECK_HANDLE(transaction, type_rtr, isc_bad_trans_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; rem_port* port = rdb->rdb_port; @@ -4467,7 +4466,8 @@ * Functional description * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4476,7 +4476,6 @@ RDB rdb = transaction->rtr_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; ISC_STATUS status; @@ -4510,7 +4509,8 @@ * Unwind a running request. * **************************************/ - trdb thd_context, *tdrdb; + trdb thd_context(user_status); + trdb* tdrdb; REM_set_thread_data(tdrdb, &thd_context); @@ -4519,7 +4519,6 @@ RDB rdb = request->rrq_rdb; CHECK_HANDLE(rdb, type_rdb, isc_bad_db_handle); rdb->rdb_status_vector = user_status; - tdrdb->trdb_status_vector = user_status; tdrdb->trdb_database = rdb; try Index: remote.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/remote/remote.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -b -U3 -r1.38 -r1.39 --- remote.cpp 26 Aug 2004 23:27:40 -0000 1.38 +++ remote.cpp 30 Aug 2004 18:11:06 -0000 1.39 @@ -393,7 +393,7 @@ t_data[i] = 0; - thdd::putSpecificData((void *) t_data); + ThreadData::putSpecificData((void *) t_data); } break; Index: remote.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/remote/remote.h,v retrieving revision 1.40 retrieving revision 1.41 diff -b -U3 -r1.40 -r1.41 --- remote.h 9 Jun 2004 18:20:20 -0000 1.40 +++ remote.h 30 Aug 2004 18:11:06 -0000 1.41 @@ -502,9 +502,14 @@ /* Thread specific remote database block */ -class trdb : public thdd +class trdb : public ThreadData { public: + trdb(ISC_STATUS* status) + : ThreadData(ThreadData::tddRDB), trdb_status_vector(status) + { + trdb_database = 0; + } rdb* trdb_database; ISC_STATUS* trdb_status_vector; }; @@ -513,16 +518,14 @@ inline trdb* REM_get_thread_data() { - return (trdb*) thdd::getSpecific(); + return (trdb*) ThreadData::getSpecific(); } inline void REM_set_thread_data(trdb* &tdrdb, trdb* thd_context) { tdrdb = thd_context; - tdrdb->trdb_status_vector = NULL; - tdrdb->thdd_type = THDD_TYPE_TRDB; tdrdb->putSpecific(); } inline void REM_restore_thread_data() { - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); } /* Queuing structure for Client batch fetches */ Index: server.cpp =================================================================== RCS file: /cvsroot/firebird/firebird2/src/remote/server.cpp,v retrieving revision 1.91 retrieving revision 1.92 diff -b -U3 -r1.91 -r1.92 --- server.cpp 28 Aug 2004 07:30:17 -0000 1.91 +++ server.cpp 30 Aug 2004 18:11:06 -0000 1.92 @@ -265,15 +265,15 @@ SSHORT request_count = 0; #endif /* DEBUG */ #endif /* DEV_BUILD */ - trdb thd_context, *tdrdb; ISC_STATUS_ARRAY status_vector; + trdb thd_context(status_vector); + trdb* tdrdb; gds__thread_enable(-1); THREAD_ENTER(); REM_set_thread_data(tdrdb, &thd_context); - tdrdb->trdb_status_vector = status_vector; try { @@ -2945,11 +2945,9 @@ * **************************************/ TEXT msg[128]; - trdb thd_context; - // BRS: This is the same as REM_set_thread_data but it not set status vector to null + trdb thd_context(port->port_status_vector); + // BRS: This is the same as REM_set_thread_data trdb* tdrdb = &thd_context; - tdrdb->trdb_status_vector = port->port_status_vector; - tdrdb->thdd_type = THDD_TYPE_TRDB; tdrdb->putSpecific(); try { @@ -2973,7 +2971,7 @@ gds__log ("SERVER/process_packet: connect reject, server exiting", 0); - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); return false; } } @@ -3017,7 +3015,7 @@ gds__log("SERVER/process_packet: Multi-client server shutdown", 0); } port->disconnect(sendL, receive); - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); return false; } } @@ -3195,7 +3193,7 @@ port->disconnect(); else port->disconnect(sendL, receive); - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); return false; } port->disconnect(sendL, receive); @@ -3205,7 +3203,7 @@ if (result) *result = port; - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); } // try catch (const std::exception&) { @@ -3217,7 +3215,7 @@ port->send_response(sendL, 0, 0, tdrdb->trdb_status_vector); port->disconnect(sendL, receive); /* Well, how about this... */ - thdd::restoreSpecific(); + ThreadData::restoreSpecific(); return false; } |