From: Alex P. <pes...@ya...> - 2008-02-25 17:46:21
|
Hi, all! Existing set of ways to shutdown firebird is awful collection of #IFDEF's, making it in different ways for windows/posix, SS/CS. And none is OK for SC. I've almost finished with MT-friendly arc-independent (CS/SS/SC) shutdown procedure for firebird. The key is performing central shutdown activity in yValve. For this purpose I've added 2 new private API entries - fb__shutdown (it may be called by client, services manager to support 'fbmgr -shut', with minor tricks from signal handler or something else) and fb__shutdown_callback (makes it possible for clients to register shutdown handlers). Changes can (and will) break windows builds. But I hope that using new functions in windows specific files will help much with making shutdown more consistent, like it already happened in posix. Engine, yValve and posix remote listeners are ready to go. Who sees any problems if I commit that changes after finising with utilities review? Alex. |