You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(43) |
Nov
(15) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(23) |
Feb
|
Mar
(25) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Karel G. <kg...@us...> - 2002-03-23 19:54:29
|
Update of /cvsroot/micomt/mico/demo/ccm/events In directory usw-pr-cvs1:/tmp/cvs-serv26941/events Log Message: Directory /cvsroot/micomt/mico/demo/ccm/events added to the repository |
From: Karel G. <kg...@us...> - 2002-01-05 12:54:11
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv15089 Modified Files: CHANGES.mt README.mt Log Message: - version 2.3.6 Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -r1.36 -r1.37 *** CHANGES.mt 2002/01/05 07:32:21 1.36 --- CHANGES.mt 2002/01/05 12:54:08 1.37 *************** *** 1,3 **** --- 1,5 ---- + version 2.3.6 + - added configure into cvs - fixed compilation of single-threaded build Index: README.mt =================================================================== RCS file: /cvsroot/micomt/mico/README.mt,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** README.mt 2000/01/11 01:01:25 1.9 --- README.mt 2002/01/05 12:54:08 1.10 *************** *** 1,3 **** --- 1,115 ---- + + RELEASE NOTES for MICO/MT 2.3.6 + + This is mainly stabilisation release thought it brings some new + features. The main effort in the past was in I/O domain where Andreas + tried to achieve the most parallelism rate as could be done. So we saw + separate reader/writer threads for each connection, thread pool for + decoding messages and orb thread pool. It was great achieve and + Andreas did great work. + + Since Andreas couldn't finish his work with integration of MICO/MT + into main MICO I decided to help the project a little and fix some + bugs. During this time I tried to compare MICO/MT framework with MT + frameworks of other open-source orbs around the world from the point + of performance and scalability and I found some areas where MICO/MT + lags behind. The main problem is that Andreas's achievement of the + most parallel I/O framework goes against achievement to make MICO/MT + more scalable. Simply I think that it's not right to allocate 4000 OS + threads for serving 2000 clients because not all people have such + *big* machine. I decided to slightly change MICO/MT internals while + using all good stuff which Andreas wrote e.g. channels, operations + etc. and slightly limit the number of used threads. I implemented two + concurrency models: thread pool and thread per connection (in reality + I implemented another model: thread per request, but I considered it + useless and so it's not debugged and developed any more). + + Thread pool concurrency model + ----------------------------- + This model is on by default so you don't need to use any option to + switch it on. In case that you are running your servers/clients with + other concurrency model by default (by selecting it in micorc file), + you can use option '-ORBThreadPool' for switching it on. This model + uses constant number of threads for serving all connections. This is + possible to change number of threads by using '-ORBRequestLimit + <number>'. By default MICO/MT uses four threads in thread pool. + In case that your server (code) is not thread aware you can + use '1' for number of threads and then MICO/MT will run in single + threaded mode. Don't be afraid that you will see two server threads + running, the first one is server's main thread which is working in + select loop and sending incomming message to the request thread pool + in which you have selected number of threads. The second one is the + only one thread (as you selected by -ORBRequestLimit 1) in request + thread pool which will make all up-calls to the POA(s) and + servant(s). For this model there is available unlimited number of + incomming connections. If you would like to limit number of incomming + connections, you can use '-ORBConnLimit <number>' parameter. + + Thread per connection concurrency model + --------------------------------------- + This model uses one thread per each connection in tcp blocking + mode. It's slightly faster than thread pool model above but it's a + little bit scalable. To switch it on please use + '-ORBThreadPerConnection' parameter. By default there are ten + connection available, to increase this number use '-ORBConnLimit + <number>' parameter. + + + What's new + ---------- + + - MICO 2.3.6 source tree merged in + - implemented two concurrency models: thread pool and thread per connection + - thread pool concurrency model doesn't use separate reader/writer threads for each incoming connection + any more as the old implementation does + - it's possible to build sources without thread support + - configure provides options for selecting thread package + - ported to FreeBSD and OpenBSD + + Fixes in this release + --------------------- + + - fixed oneway invocations + - fixed SSL support + - several fixes in IIOP/GIOP/Connection management - e.g. GIOP + crashing while sending random data to the server + and deadlock while throwing SYS exception on the client side + - fixed POA for usage with servant manager + - compilation fixes in micod (it still doesn't work well but compiles + without error) + - naming service was changed to be MT ready - e.g. it's POAs + have thread policy with single thread value + + Tested on + --------- + + Platforms: x86: GNU/Linux, FreeBSD, OpenBSD (MICO/MT compiles well on + it, but due to bad c++ behavior on this platform many + examples which run well somewhere else crash) + sparc64: GNU/Linux, Solaris 8 + s390: GNU/Linux + + Thread package: only POSIX thread support is tested (and developed) + + Examples: generic obv/abstract obv/date obv/tree poa/hello-1 + poa/hello-2 poa/inherit poa/account-1 poa/account-2 + run well on every platform + Example: ssl tested only on x86 GNU/Linux - runs well + Example: obv/tricky broken on bigendian machines (sparc64 and s390) + Example: poa/account-3 broken on every platform due to error in micod + and IIOP/GIOP while working with forwarded messages + + Note that examples were started in default MICO/MT mode and so each + run with thread pool concurrency model. + + + + + --------------------------------------------------------------------- + + + + RELEASE NOTES for MICO/mt - version 2000-01-10 ---------------------------------------------- |
From: Karel G. <kg...@us...> - 2002-01-05 07:32:24
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv27804 Modified Files: CHANGES.mt Added Files: configure Log Message: - added configure into cvs Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -r1.35 -r1.36 *** CHANGES.mt 2002/01/05 07:24:35 1.35 --- CHANGES.mt 2002/01/05 07:32:21 1.36 *************** *** 1,3 **** --- 1,4 ---- + - added configure into cvs - fixed compilation of single-threaded build - changed configure.in to prefer POSIX threads than Solaris threads on Solaris |
From: Karel G. <kg...@us...> - 2002-01-05 07:24:38
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv26976/orb Modified Files: iop.cc Log Message: - fixed compilation of single-threaded build Index: iop.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/iop.cc,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -r1.78 -r1.79 *** iop.cc 2002/01/02 17:05:27 1.78 --- iop.cc 2002/01/05 07:24:35 1.79 *************** *** 3435,3440 **** return FALSE; } assert(conn->active_ref()); ! if (!conn->codec()->converter()) { #ifdef HAVE_THREADS --- 3435,3441 ---- return FALSE; } + #ifdef HAVE_THREADS assert(conn->active_ref()); ! #endif if (!conn->codec()->converter()) { #ifdef HAVE_THREADS *************** *** 3535,3540 **** return TRUE; } assert(conn->active_ref()); ! if (MICO::Logger::IsLogged (MICO::Logger::GIOP)) { MICOMT::AutoDebugLock __lock; --- 3536,3542 ---- return TRUE; } + #ifdef HAVE_THREADS assert(conn->active_ref()); ! #endif if (MICO::Logger::IsLogged (MICO::Logger::GIOP)) { MICOMT::AutoDebugLock __lock; *************** *** 4528,4532 **** --- 4530,4536 ---- << conn->transport()->peer()->stringify() << endl; } + #ifdef HAVE_THREADS conn->active_deref(); + #endif conn_error (conn); return FALSE; |
From: Karel G. <kg...@us...> - 2002-01-05 07:24:38
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv26976 Modified Files: CHANGES.mt Log Message: - fixed compilation of single-threaded build Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -r1.34 -r1.35 *** CHANGES.mt 2002/01/04 16:37:30 1.34 --- CHANGES.mt 2002/01/05 07:24:35 1.35 *************** *** 1,3 **** --- 1,4 ---- + - fixed compilation of single-threaded build - changed configure.in to prefer POSIX threads than Solaris threads on Solaris - fixed POA_impl::perform_invoke for orec handling while using servant manager |
From: Karel G. <kg...@us...> - 2002-01-04 16:37:34
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv30294 Modified Files: CHANGES.mt configure.in Log Message: - changed configure.in to prefer POSIX threads than Solaris threads on Solaris ---------------------------------------------------------------------- Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** CHANGES.mt 2002/01/04 14:34:57 1.33 --- CHANGES.mt 2002/01/04 16:37:30 1.34 *************** *** 1,3 **** --- 1,4 ---- + - changed configure.in to prefer POSIX threads than Solaris threads on Solaris - fixed POA_impl::perform_invoke for orec handling while using servant manager - made ObjectActivationLock recursive Index: configure.in =================================================================== RCS file: /cvsroot/micomt/mico/configure.in,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** configure.in 2002/01/02 19:39:25 1.33 --- configure.in 2002/01/04 16:37:30 1.34 *************** *** 385,418 **** if test X"$platform_supports_threads" = Xno; then if test X"$use_threads" = Xyes; then ! # if test X"$use_pthreads" = Xno; then ! AC_CHECK_LIB(thread, open, use_solaris_threads=yes, use_solaris_threads=no) ! if test X"$use_solaris_threads" = Xyes; then ! AC_CHECK_HEADERS(thread.h semaphore.h synch.h,, ! AC_MSG_ERROR(solaris thread header files incomplete) ) ! AC_DEFINE(HAVE_SOLARIS_THREADS) ! SHLIBS="-lthread" ! # fi ! else ! AC_CHECK_LIB(pthread, open, use_pthreads=yes, use_pthreads=no) if test X"$use_pthreads" = Xyes; then ! AC_CHECK_HEADERS(pthread.h sched.h,, ! AC_MSG_ERROR(pthread header files incomplete) ) AC_CHECK_HEADERS(semaphore.h) AC_DEFINE(HAVE_PTHREADS) ! SHLIBS="-lpthread" ! else ! AC_CHECK_LIB(c_r, pthread_create, use_pthreads=yes, use_pthreads=no) ! if test X"$use_pthreads" = Xyes; then ! AC_CHECK_HEADERS(pthread.h sched.h,, ! AC_MSG_ERROR(pthread header files incomplete) ) ! AC_CHECK_HEADERS(semaphore.h) ! AC_DEFINE(HAVE_PTHREADS) ! #SHLIBS="-lpthread" ! LDFLAGS="-pthread $LDFLAGS" ! platform_supports_threads=yes ! use_threads=yes else AC_CHECK_LIB(cma, open, use_dcethreads=yes, use_dcethreads=no) --- 385,413 ---- if test X"$platform_supports_threads" = Xno; then if test X"$use_threads" = Xyes; then ! AC_CHECK_LIB(pthread, pthread_create, use_pthreads=yes, use_pthreads=no) ! if test X"$use_pthreads" = Xyes; then ! AC_CHECK_HEADERS(pthread.h sched.h,, ! AC_MSG_ERROR(pthread header files incomplete) ) ! AC_CHECK_HEADERS(semaphore.h) ! AC_DEFINE(HAVE_PTHREADS) ! SHLIBS="-lpthread" ! else ! AC_CHECK_LIB(c_r, pthread_create, use_pthreads=yes, use_pthreads=no) if test X"$use_pthreads" = Xyes; then ! AC_CHECK_HEADERS(pthread.h sched.h,, ! AC_MSG_ERROR(pthread header files incomplete) ) AC_CHECK_HEADERS(semaphore.h) AC_DEFINE(HAVE_PTHREADS) ! LDFLAGS="-pthread $LDFLAGS" ! else ! AC_CHECK_LIB(thread, open, use_solaris_threads=yes, use_solaris_threads=no) ! if test X"$use_solaris_threads" = Xyes; then ! AC_CHECK_HEADERS(thread.h semaphore.h synch.h,, ! AC_MSG_ERROR(solaris thread header files incomplete) ) ! AC_DEFINE(HAVE_SOLARIS_THREADS) ! SHLIBS="-lthread" else AC_CHECK_LIB(cma, open, use_dcethreads=yes, use_dcethreads=no) *************** *** 439,445 **** AC_DEFINE(HAVE_PTH_H) SHLIBS=$PTH_LIBS - use_pth_threads=yes - platform_supports_threads=yes - use_threads=yes else use_pthreads=no --- 434,437 ---- *************** *** 452,460 **** fi fi - # else - # use_pthreads=no - # use_dcethreads=no - # use_solaris_threads=no - # use_pth_threads=no fi fi --- 444,447 ---- |
From: Karel G. <kg...@us...> - 2002-01-04 16:33:54
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv29219 Modified Files: Makefile Log Message: - fixes make distclean for doxy.log and conftest.h Index: Makefile =================================================================== RCS file: /cvsroot/micomt/mico/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** Makefile 2002/01/04 11:29:20 1.9 --- Makefile 2002/01/04 16:33:51 1.10 *************** *** 56,60 **** rm -f config.* rm -f include/mico/config.h ! rm -r confdefs.h doxy.log install: --- 56,60 ---- rm -f config.* rm -f include/mico/config.h ! rm -f confdefs.h doxy.log install: |
From: Karel G. <kg...@us...> - 2002-01-04 14:35:01
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv21960/orb Modified Files: poa_impl.cc Log Message: - fixed POA_impl::perform_invoke for orec handling while using servant manager - made ObjectActivationLock recursive Index: poa_impl.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/poa_impl.cc,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** poa_impl.cc 2001/10/26 20:00:02 1.28 --- poa_impl.cc 2002/01/04 14:34:57 1.29 *************** *** 1807,1811 **** POA_impl * _parent, CORBA::ORB_ptr _orb) ! : name (_name), parent(_parent), orb(_orb) { destructed = 0; --- 1807,1811 ---- POA_impl * _parent, CORBA::ORB_ptr _orb) ! : name (_name), parent(_parent), orb(_orb), ObjectActivationLock(FALSE, MICOMT::Mutex::Recursive) { destructed = 0; *************** *** 3573,3576 **** --- 3573,3577 ---- #endif activate_object_with_id (ir->get_por()->get_id(), servant); + orec = ActiveObjectMap.find (*ir->get_por()); #ifdef HAVE_EXCEPTIONS } catch (...) { *************** *** 3639,3643 **** /* ! * we have a walid, activated servant at this point */ --- 3640,3644 ---- /* ! * we have a valid, activated servant at this point */ *************** *** 3669,3678 **** servant); } ! ! { MICOMT::AutoLock l(ObjectActivationLock); orec->invoke_cnt--; ! if ( orec->invoke_cnt == 0 && !orec->active ) ! remove_object( ir->get_por()->get_id() ); } //FIXME: release the servant --- 3670,3679 ---- servant); } ! ! if (servant_retention_policy->value() == PortableServer::RETAIN) { MICOMT::AutoLock l(ObjectActivationLock); orec->invoke_cnt--; ! if (orec->invoke_cnt == 0 && !orec->active) ! this->remove_object(ir->get_por()->get_id()); } //FIXME: release the servant |
From: Karel G. <kg...@us...> - 2002-01-04 14:35:00
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv21960 Modified Files: CHANGES.mt Log Message: - fixed POA_impl::perform_invoke for orec handling while using servant manager - made ObjectActivationLock recursive Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** CHANGES.mt 2002/01/04 09:19:09 1.32 --- CHANGES.mt 2002/01/04 14:34:57 1.33 *************** *** 1,3 **** --- 1,5 ---- + - fixed POA_impl::perform_invoke for orec handling while using servant manager + - made ObjectActivationLock recursive - MT debug code was switched off - added posix4 library for solaris build |
From: Karel G. <kg...@us...> - 2002-01-04 11:29:24
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv32050 Modified Files: Makefile Log Message: - remove doxy.log and confsdefs.h files in distclean Index: Makefile =================================================================== RCS file: /cvsroot/micomt/mico/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** Makefile 2002/01/01 20:29:21 1.8 --- Makefile 2002/01/04 11:29:20 1.9 *************** *** 56,59 **** --- 56,60 ---- rm -f config.* rm -f include/mico/config.h + rm -r confdefs.h doxy.log install: |
From: Karel G. <kg...@us...> - 2002-01-04 09:19:12
|
Update of /cvsroot/micomt/mico/include/mico In directory usw-pr-cvs1:/tmp/cvs-serv7126/include/mico Modified Files: mtdebug.h Log Message: - MT debug code was switched off Index: mtdebug.h =================================================================== RCS file: /cvsroot/micomt/mico/include/mico/mtdebug.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** mtdebug.h 2001/10/26 19:59:59 1.13 --- mtdebug.h 2002/01/04 09:19:09 1.14 *************** *** 39,44 **** # define DEBUG_NAMES # define __NAME( x ) x ! #else # define __NAME( x ) #endif // MTDEBUG --- 39,45 ---- # define DEBUG_NAMES # define __NAME( x ) x ! #else # define __NAME( x ) + # undef DEBUG_NAMES #endif // MTDEBUG |
From: Karel G. <kg...@us...> - 2002-01-04 09:19:12
|
Update of /cvsroot/micomt/mico/include In directory usw-pr-cvs1:/tmp/cvs-serv7126/include Modified Files: CORBA.h Log Message: - MT debug code was switched off Index: CORBA.h =================================================================== RCS file: /cvsroot/micomt/mico/include/CORBA.h,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** CORBA.h 2001/10/26 19:59:58 1.23 --- CORBA.h 2002/01/04 09:19:09 1.24 *************** *** 38,44 **** /***************************** config *******************************/ ! // switch on full debug for mt - for now ! #define MTDEBUG ! //#undef MTDEBUG #ifdef _WINDOWS --- 38,44 ---- /***************************** config *******************************/ ! // For switching on debug code uncomment line below and comment line under it ! //#define MTDEBUG ! #undef MTDEBUG #ifdef _WINDOWS |
From: Karel G. <kg...@us...> - 2002-01-04 09:19:11
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv7126 Modified Files: CHANGES.mt Log Message: - MT debug code was switched off Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** CHANGES.mt 2002/01/02 19:39:25 1.31 --- CHANGES.mt 2002/01/04 09:19:09 1.32 *************** *** 1,3 **** --- 1,4 ---- + - MT debug code was switched off - added posix4 library for solaris build - fixed GIOPConn crashing bug number #437748 |
From: Karel G. <kg...@us...> - 2002-01-02 19:39:30
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv3314 Modified Files: CHANGES.mt configure.in Log Message: - added posix4 library for solaris build Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** CHANGES.mt 2002/01/02 17:05:27 1.30 --- CHANGES.mt 2002/01/02 19:39:25 1.31 *************** *** 1,3 **** --- 1,4 ---- + - added posix4 library for solaris build - fixed GIOPConn crashing bug number #437748 - added -D_THREAD_SAFE param for compilation with gcc on *BSD Index: configure.in =================================================================== RCS file: /cvsroot/micomt/mico/configure.in,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -r1.32 -r1.33 *** configure.in 2002/01/01 21:14:07 1.32 --- configure.in 2002/01/02 19:39:25 1.33 *************** *** 576,579 **** --- 576,582 ---- ;; *solaris*|*sunos*) + if test X"$use_threads" = Xyes; then + SHLIBS="$SHLIBS -lposix4" + fi ;; *osf*) |
From: Karel G. <kg...@us...> - 2002-01-02 17:05:30
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv24401/orb Modified Files: iop.cc Log Message: - fixed GIOPConn crashing bug number #437748 Index: iop.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/iop.cc,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -r1.77 -r1.78 *** iop.cc 2002/01/01 20:34:27 1.77 --- iop.cc 2002/01/02 17:05:27 1.78 *************** *** 2443,2449 **** _inbuf = new CORBA::Buffer; _inlen = _codec->header_length (); if (!this->input_ready() || break_after_read) break; ! continue; } if (_max_message_size > 0 && _inlen > _max_message_size) { --- 2443,2455 ---- _inbuf = new CORBA::Buffer; _inlen = _codec->header_length (); + _transp->rselect (_disp, 0); + _transp->wselect (_disp, 0); if (!this->input_ready() || break_after_read) break; ! //continue; ! // I'll break here instead of continue because this connection ! // is lost for future - it's not possible to received ! // wrong header and then wait for other which might be right ! break; } if (_max_message_size > 0 && _inlen > _max_message_size) { *************** *** 4479,4483 **** conn->flush(); ! deref_conn ( conn, TRUE); } --- 4485,4490 ---- conn->flush(); ! //deref_conn ( conn, TRUE); ! this->kill_conn(conn); } *************** *** 4521,4524 **** --- 4528,4532 ---- << conn->transport()->peer()->stringify() << endl; } + conn->active_deref(); conn_error (conn); return FALSE; |
From: Karel G. <kg...@us...> - 2002-01-02 17:05:30
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv24401 Modified Files: CHANGES.mt Log Message: - fixed GIOPConn crashing bug number #437748 Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -r1.29 -r1.30 *** CHANGES.mt 2002/01/01 21:14:07 1.29 --- CHANGES.mt 2002/01/02 17:05:27 1.30 *************** *** 1,3 **** --- 1,4 ---- + - fixed GIOPConn crashing bug number #437748 - added -D_THREAD_SAFE param for compilation with gcc on *BSD - added global dep (or .depend) rule, it makes .depend file in all |
From: Karel G. <kg...@us...> - 2002-01-01 21:14:11
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv25598 Modified Files: CHANGES.mt configure.in Log Message: - added -D_THREAD_SAFE param for compilation with gcc on *BSD Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** CHANGES.mt 2002/01/01 20:29:21 1.28 --- CHANGES.mt 2002/01/01 21:14:07 1.29 *************** *** 1,3 **** --- 1,4 ---- + - added -D_THREAD_SAFE param for compilation with gcc on *BSD - added global dep (or .depend) rule, it makes .depend file in all prgdirs. It's possible to use -j make option after creation of .depend Index: configure.in =================================================================== RCS file: /cvsroot/micomt/mico/configure.in,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** configure.in 2001/12/21 20:24:56 1.31 --- configure.in 2002/01/01 21:14:07 1.32 *************** *** 589,595 **** --- 589,601 ---- *freebsd4*) # must not use .so.1.0 here + if test X"$use_threads" = Xyes; then + CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE" + fi ;; *bsd*) CONF_SOEXT=so.1.0 + if test X"$use_threads" = Xyes; then + CXXFLAGS="$CXXFLAGS -D_THREAD_SAFE" + fi ;; *cygwin32*) |
From: Karel G. <kg...@us...> - 2002-01-01 20:34:32
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv18501/orb Modified Files: iop.cc Log Message: - comment out debug messages in GIOPConn::active_(de)ref Index: iop.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/iop.cc,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -r1.76 -r1.77 *** iop.cc 2002/01/01 19:34:46 1.76 --- iop.cc 2002/01/01 20:34:27 1.77 *************** *** 2237,2241 **** MICO::GIOPConn::active_ref() { ! cerr << "active_ref(): " << _activerefs << " -> " << (_activerefs + 1) << endl; return MICOMT::StateRefCnt::active_ref(); } --- 2237,2241 ---- MICO::GIOPConn::active_ref() { ! //cerr << "active_ref(): " << _activerefs << " -> " << (_activerefs + 1) << endl; return MICOMT::StateRefCnt::active_ref(); } *************** *** 2244,2248 **** MICO::GIOPConn::active_deref() { ! cerr << "active_deref(): " << _activerefs << " -> " << (_activerefs - 1) << endl; return MICOMT::StateRefCnt::active_deref(); } --- 2244,2248 ---- MICO::GIOPConn::active_deref() { ! //cerr << "active_deref(): " << _activerefs << " -> " << (_activerefs - 1) << endl; return MICOMT::StateRefCnt::active_deref(); } |
From: Karel G. <kg...@us...> - 2002-01-01 20:29:24
|
Update of /cvsroot/micomt/mico/tools In directory usw-pr-cvs1:/tmp/cvs-serv17575/tools Modified Files: Makefile Log Message: - added global dep (or .depend) rule, it makes .depend file in all prgdirs. It's possible to use -j make option after creation of .depend files Index: Makefile =================================================================== RCS file: /cvsroot/micomt/mico/tools/Makefile,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -C2 -r1.1.1.2 -r1.2 *** Makefile 2001/01/06 23:18:25 1.1.1.2 --- Makefile 2002/01/01 20:29:21 1.2 *************** *** 49,50 **** --- 49,53 ---- eval 'for i in $(DIRS); do $(MAKE) -C $$i clean || exit 1; done' + .depend: + for i in $(DIRS); do $(MAKE) -C $$i .depend || exit 1; done + |
From: Karel G. <kg...@us...> - 2002-01-01 20:29:24
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv17575 Modified Files: CHANGES.mt Makefile Log Message: - added global dep (or .depend) rule, it makes .depend file in all prgdirs. It's possible to use -j make option after creation of .depend files Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -r1.27 -r1.28 *** CHANGES.mt 2002/01/01 19:34:46 1.27 --- CHANGES.mt 2002/01/01 20:29:21 1.28 *************** *** 1,3 **** --- 1,6 ---- + - added global dep (or .depend) rule, it makes .depend file in all + prgdirs. It's possible to use -j make option after creation of .depend + files - fixed managing of GIOPConn's active refs on client side (IIOPProxy) - it causes bug #439533 Index: Makefile =================================================================== RCS file: /cvsroot/micomt/mico/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** Makefile 2001/07/23 20:12:08 1.7 --- Makefile 2002/01/01 20:29:21 1.8 *************** *** 87,88 **** --- 87,95 ---- chmod +x configure + dep: + for i in $(ADMDIRS); do $(MAKE) -C $$i adm || exit 1; done + for i in $(PRGDIRS); do $(MAKE) -C $$i .depend || exit 1; done + + .depend: + for i in $(ADMDIRS); do $(MAKE) -C $$i adm || exit 1; done + for i in $(PRGDIRS); do $(MAKE) -C $$i .depend || exit 1; done |
From: Karel G. <kg...@us...> - 2002-01-01 20:29:24
|
Update of /cvsroot/micomt/mico/coss In directory usw-pr-cvs1:/tmp/cvs-serv17575/coss Modified Files: Makefile Log Message: - added global dep (or .depend) rule, it makes .depend file in all prgdirs. It's possible to use -j make option after creation of .depend files Index: Makefile =================================================================== RCS file: /cvsroot/micomt/mico/coss/Makefile,v retrieving revision 1.1.1.2 retrieving revision 1.2 diff -C2 -r1.1.1.2 -r1.2 *** Makefile 2001/01/06 23:17:42 1.1.1.2 --- Makefile 2002/01/01 20:29:21 1.2 *************** *** 210,211 **** --- 210,214 ---- install-cd: install + .depend: + for i in $(SUBDIRS); do $(MAKE) -C $$i .depend || exit 1; done + |
From: Karel G. <kg...@us...> - 2002-01-01 19:34:50
|
Update of /cvsroot/micomt/mico/include/mico In directory usw-pr-cvs1:/tmp/cvs-serv6787/include/mico Modified Files: iop.h Log Message: - fixed managing of GIOPConn's active refs on client side (IIOPProxy) - it causes bug #439533 ---------------------------------------------------------------------- Index: iop.h =================================================================== RCS file: /cvsroot/micomt/mico/include/mico/iop.h,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -r1.34 -r1.35 *** iop.h 2001/11/24 19:45:26 1.34 --- iop.h 2002/01/01 19:34:46 1.35 *************** *** 425,428 **** --- 425,436 ---- void release_exclusive () { _excl_mutex.unlock(); }; + + // added for debuging reason + // because I'm not able to add breakpoint on line in .h file :-(( + CORBA::Boolean + active_ref(); + + void + active_deref(); #else void start() |
From: Karel G. <kg...@us...> - 2002-01-01 19:34:50
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv6787/orb Modified Files: iop.cc mt_dispatcher.cc orb.cc Log Message: - fixed managing of GIOPConn's active refs on client side (IIOPProxy) - it causes bug #439533 ---------------------------------------------------------------------- Index: iop.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/iop.cc,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -r1.75 -r1.76 *** iop.cc 2001/12/31 11:17:32 1.75 --- iop.cc 2002/01/01 19:34:46 1.76 *************** *** 2231,2234 **** --- 2231,2252 ---- } + #ifdef HAVE_THREADS + // added for debuging reason + // because I'm not able to add breakpoint on line in .h file :-(( + CORBA::Boolean + MICO::GIOPConn::active_ref() + { + cerr << "active_ref(): " << _activerefs << " -> " << (_activerefs + 1) << endl; + return MICOMT::StateRefCnt::active_ref(); + } + + void + MICO::GIOPConn::active_deref() + { + cerr << "active_deref(): " << _activerefs << " -> " << (_activerefs - 1) << endl; + return MICOMT::StateRefCnt::active_deref(); + } + #endif // HAVE_THREADS + /* * connection shutdown is very complicated for mt *************** *** 2248,2252 **** } assert (_refcnt >= 0); ! if (!this->state_change( MICOMT::StateRefCnt::Shutdown )) return; --- 2266,2270 ---- } assert (_refcnt >= 0); ! if (!this->state_change( MICOMT::StateRefCnt::Shutdown )) return; *************** *** 2334,2338 **** << " pool: " << MICO::MTManager::thread_pool() << endl << " conn: " << MICO::MTManager::thread_per_connection() << endl ! << " req: " << MICO::MTManager::thread_per_request() << endl; } --- 2352,2357 ---- << " pool: " << MICO::MTManager::thread_pool() << endl << " conn: " << MICO::MTManager::thread_per_connection() << endl ! << " req: " << MICO::MTManager::thread_per_request() << endl ! << "_activerefs: " << _activerefs << endl; } *************** *** 3048,3052 **** conn = (*i).second; #ifdef HAVE_THREADS ! if( conn->active_ref ()) return conn; else --- 3067,3075 ---- conn = (*i).second; #ifdef HAVE_THREADS ! // The connection was created and I have it in _conns map ! // so I don't need to increment active ref count ! // I'll only test if it's active ! //if( conn->active_ref ()) ! if (conn->state() == MICOMT::StateRefCnt::Active) return conn; else *************** *** 3062,3066 **** conn = (*i).second; #ifdef HAVE_THREADS ! if (conn->active_ref ()) return conn; else --- 3085,3093 ---- conn = (*i).second; #ifdef HAVE_THREADS ! // The connection was created and I have it in _conns map ! // so I don't need to increment active ref count ! // I'll only test if it's active ! //if( conn->active_ref ()) ! if (conn->state() == MICOMT::StateRefCnt::Active) return conn; else *************** *** 3289,3293 **** } while (again); #ifdef HAVE_THREADS ! //cerr << "kill_conn" << endl << flush; conn->terminate(); #endif --- 3316,3320 ---- } while (again); #ifdef HAVE_THREADS ! conn->active_deref(); conn->terminate(); #endif *************** *** 3402,3405 **** --- 3429,3433 ---- return FALSE; } + assert(conn->active_ref()); if (!conn->codec()->converter()) { *************** *** 3501,3504 **** --- 3529,3533 ---- return TRUE; } + assert(conn->active_ref()); if (MICO::Logger::IsLogged (MICO::Logger::GIOP)) { Index: mt_dispatcher.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/mt_dispatcher.cc,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** mt_dispatcher.cc 2001/11/24 19:45:26 1.21 --- mt_dispatcher.cc 2002/01/01 19:34:46 1.22 *************** *** 106,112 **** << " ORBMsg::KillConn" << endl; } - assert( _msg->conn->state() == MICOMT::StateRefCnt::Terminated ); - delete _msg->conn; break; --- 106,110 ---- Index: orb.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/orb.cc,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -r1.48 -r1.49 *** orb.cc 2001/12/12 20:29:13 1.48 --- orb.cc 2002/01/01 19:34:46 1.49 *************** *** 79,83 **** cond.timedwait( cond_mutex, tmout ); } else { - //cerr << "async" << endl << flush; cond.wait( cond_mutex ); } --- 79,82 ---- |
From: Karel G. <kg...@us...> - 2002-01-01 19:34:49
|
Update of /cvsroot/micomt/mico In directory usw-pr-cvs1:/tmp/cvs-serv6787 Modified Files: CHANGES.mt Log Message: - fixed managing of GIOPConn's active refs on client side (IIOPProxy) - it causes bug #439533 ---------------------------------------------------------------------- Index: CHANGES.mt =================================================================== RCS file: /cvsroot/micomt/mico/CHANGES.mt,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -r1.26 -r1.27 *** CHANGES.mt 2001/12/31 11:17:32 1.26 --- CHANGES.mt 2002/01/01 19:34:46 1.27 *************** *** 1,3 **** --- 1,5 ---- + - fixed managing of GIOPConn's active refs on client side (IIOPProxy) + - it causes bug #439533 - changed thread-pool concurrency model, it doesn't use separate accept thread for incoming connections any more |
From: Karel G. <kg...@us...> - 2001-12-31 11:17:36
|
Update of /cvsroot/micomt/mico/orb In directory usw-pr-cvs1:/tmp/cvs-serv1858/orb Modified Files: iop.cc Log Message: - changed thread-pool concurrency model, it doesn't use separate accept thread for incoming connections any more ---------------------------------------------------------------------- Index: iop.cc =================================================================== RCS file: /cvsroot/micomt/mico/orb/iop.cc,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -r1.74 -r1.75 *** iop.cc 2001/12/12 20:29:13 1.74 --- iop.cc 2001/12/31 11:17:32 1.75 *************** *** 4146,4150 **** CORBA::TransportServer *tserv = addr->make_transport_server (); #ifdef HAVE_THREADS ! tserv->create_thread(); #endif if (!tserv->bind (addr)) { --- 4146,4151 ---- CORBA::TransportServer *tserv = addr->make_transport_server (); #ifdef HAVE_THREADS ! if (!MICO::MTManager::thread_pool()) ! tserv->create_thread(); #endif if (!tserv->bind (addr)) { *************** *** 4196,4200 **** _tservers.insert (tserv); #ifdef HAVE_THREADS ! tserv->start(); #endif // HAVE_THREADS return TRUE; --- 4197,4202 ---- _tservers.insert (tserv); #ifdef HAVE_THREADS ! if (!MICO::MTManager::thread_pool()) ! tserv->start(); #endif // HAVE_THREADS return TRUE; |