Talk:Effort/Implement Basic Threading-Architecture

From Apache OpenOffice Wiki
Jump to: navigation, search

These are the locations Kai Sommerfeld found to be threading architecture relevant, because threads get created:

// win32: native thread creation functions

./crashrep/source/win32/soreport.cpp:           hSendingThread = (HANDLE)_beginthread( SendingThread, 0, pRequest );
./crashrep/source/win32/soreport.cpp:           HANDLE hSendingThread = (HANDLE)_beginthread( SendingThread, 0, (void *)&request );
./dtrans/source/win32/dnd/source.cxx:   HANDLE hThread= reinterpret_cast<HANDLE>(_beginthreadex(
./dtrans/source/win32/mtaole/MtaOleClipb.cxx:   m_hOleThread = (HANDLE)_beginthreadex(
./dtrans/source/win32/mtaole/MtaOleClipb.cxx:    m_hClipboardChangedNotifierThread = (HANDLE)_beginthreadex(
./dtrans/source/win32/workbench/testmarshal.cxx:    hThread = (void*)_beginthreadex( NULL, 0, ThreadProc, NULL, 0, &uThreadId );
./dtrans/test/win32/dnd/dndTest.cxx:    HANDLE hMTAThread= CreateThread( NULL, 0, MTAFunc, &evt, 0, &threadIdMTA);
./fpicker/source/win32/filepicker/asynceventnotifier.cxx:       m_hThread = (HANDLE)_beginthreadex(
./fpicker/source/win32/filepicker/getfilenamewrapper.cxx:           _beginthreadex(0, 0, ThreadProc, &gfnp, 0, &id));
./fpicker/source/win32/folderpicker/MtaFop.cxx:     m_hStaThread = (HANDLE)_beginthreadex(

==============================================================================
==============================================================================

/porting/sal/inc/osl/thread.h -> osl_createThread

==============================================================================

DONE (changed):    /framework/desktop/source/offacc/acceptor.cxx, line 209
DONE (removed):    /gsl/vcl/source/app/svmain.cxx, line 546
DONE (removed):    /gsl/vcl/source/helper/threadex.cxx, line 92
DONE (now enters apartment before calling Application::PostUserEvent)    /gsl/vcl/unx/source/app/devaudiosound.cxx, line 434
DONE (now enters apartment before calling Application::PostUserEvent)    /gsl/vcl/unx/source/app/osssound.cxx, line 406
DONE (no change)    /porting/sal/osl/unx/process.c, line 1408

DONE (no change needed):    /dba/connectivity/source/drivers/mozab/mozillasrc/MNSInit.cxx, line 406
DONE (no change needed):    /dba/connectivity/workben/testmoz/mozthread.cxx, line 547
DONE (no change needed):    /gsl/psprint/source/printer/cupsmgr.cxx, line 297
DONE (no change needed):    /gsl/psprint/source/printer/cupsmgr.cxx, line 363

==============================================================================
==============================================================================

/porting/sal/inc/osl/thread.h -> osl_createSuspendedThread

==============================================================================

DONE (code changed)    /gsl/dtrans/source/X11/X11_selection.cxx, line 477
DONE (code changed)    /gsl/dtrans/source/X11/X11_selection.cxx, line 3209

DONE (now enters apartment before calling Application::PostUserEvent)    /gsl/vcl/unx/source/app/sm.cxx, line 535

    /porting/sal/workben/t_zip.c, line 152

DONE (no change: impl. of ORequestThread::create())   /udk/cppu/source/threadpool/thread.cxx, line 184
DONE (impl now declared as threadsafe) /util/io/source/stm/opump.cxx, line 414

DONE    /framework/desktop/source/deployment/gui/dp_gui_dialog.cxx, line 902
    => Worker thread fuehrt beliebigen code von 'ThreadedPushButton::Click'
       => DialogImpl::clickAdd
       => DialogImpl::clickRemove
       => DialogImpl::clickEnableDisable
       => DialogImpl::clickExport
    => threads eingefuehrt, um package manager aktionen abbrechbar zu machen
       => Um UI blocking zu vermeiden, alle non-gui package mgr services
          NICHT im apartment!
            com.sun.star.comp.deployment.configuration.PackageRegistryBackend
            com.sun.star.comp.deployment.component.PackageRegistryBackend
            com.sun.star.comp.deployment.script.PackageRegistryBackend
            com.sun.star.comp.deployment.sfwk.PackageRegistryBackend
            com.sun.star.comp.deployment.PackageManagerFactory
            com.sun.star.comp.deployment.ProgressLog
            com.sun.star.comp.deployment.migration.Migration_2_0


==============================================================================
==============================================================================

/porting/sal/inc/osl/thread.hxx -> osl::Thread::create

==============================================================================


DONE (changed) /framework/sfx2/source/doc/sfxbasemodel.cxx, line 1796
        /framework/sfx2/source/doc/sfxbasemodel.cxx, line 1520  class

DONE (no change needed)  /gsl/psprint/source/printer/printerinfomanager.cxx, line 976
        /gsl/psprint/source/printer/printerinfomanager.cxx, line 87 class

DONE (changed) /ucb/ucbhelper/source/provider/backgrounddownload.cxx, line 766
        /ucb/ucbhelper/source/provider/backgrounddownload.cxx, line 325 class
      => run() delegates to pure virtual work():
DONE        /ucb/ucb/source/ucp/ftp/ftpdownloadthread.cxx, line 128
DONE        /ucb/ucb/source/ucp/webdav/DAVResourceAccessThread.cxx, line 145

DONE (IIOP bridge removed from CVS) /udk/bridges/source/remote/iiop/environment.cxx, line 288
        /udk/bridges/source/remote/iiop/iothreads.hxx, line 107 class

DONE (IIOP bridge removed from CVS)    /udk/bridges/source/remote/iiop/environment.cxx, line 295
        /udk/bridges/source/remote/iiop/iothreads.hxx, line 80  class

DONE (no change needed)    /udk/bridges/source/remote/urp/urp_environment.cxx, line 517
        /udk/bridges/source/remote/urp/urp_writer.hxx, line 83  class

DONE (no change needed)    /udk/bridges/source/remote/urp/urp_environment.cxx, line 522
        /udk/bridges/source/remote/urp/urp_reader.hxx, line 74  class

DONE (no change needed)    /udk/bridges/source/remote/urp/urp_environment.cxx, line 530
        /udk/bridges/source/remote/urp/urp_environment.cxx, line 122    class

DONE (IIOP bridge removed from CVS)    /udk/bridges/test/testsameprocess.cxx, line 198
        /udk/bridges/test/testsameprocess.cxx, line 106 class

DONE (IIOP bridge removed from CVS)    /udk/bridges/test/testserver.cxx, line 264
        /udk/bridges/test/testserver.cxx, line 108  class

DONE (no change needed) /udk/pyuno/source/module/pyuno_gc.cxx, line 115
        /udk/pyuno/source/module/pyuno_gc.cxx, line 67  class

DONE (file removed already in other CWS) /util/extensions/source/unoactivex/main/UNOActiveX.cpp, line 340
            /util/extensions/source/unoactivex/main/UNOActiveX.cpp, line 328    class

DONE (file removed already in other CWS) /util/extensions/source/unoactivex/main/UNOActiveX.cpp, line 399
            /util/extensions/source/unoactivex/main/UNOActiveX.cpp, line 385    class

    /util/io/test/stm/pipetest.cxx, line 421
        /util/io/test/stm/pipetest.cxx, line 94 class
    /util/io/test/testconnection.cxx, line 168
        /util/io/test/testconnection.cxx, line 89   class
    /util/io/test/testconnection.cxx, line 294
        /util/io/test/testconnection.cxx, line 89   class

DONE (changed)     /util/unotools/source/ucbhelper/ucblockbytes.cxx, line 1072
        /util/unotools/source/ucbhelper/ucblockbytes.cxx, line 338  class

DONE (unused code, obsolete files removed)    /xml/package/source/zippackage/ThreadedBuffer.cxx, line 137
        /xml/package/source/zippackage/OutputThread.hxx, line 72    class

DONE (changed, filtercache.cxx/.hxx - fixed handling of shared references)    /framework/filter/source/config/cache/lateinitlistener.cxx, line 136
        /framework/filter/source/config/cache/lateinitthread.hxx, line 99   class

DONE (changed - fixed handling of shared references) /util/svtools/source/contnr/contentenumeration.cxx, line 224
        /util/svtools/source/contnr/contentenumeration.hxx, line 235   class

    /* QA */
    /porting/sal/qa/osl/condition/osl_Condition.cxx, line 379
    /porting/sal/qa/osl/condition/osl_Condition.cxx, line 384
    /porting/sal/qa/osl/condition/osl_Condition.cxx, line 219
    /porting/sal/qa/osl/condition/osl_Condition.cxx, line 223
    /porting/sal/qa/osl/condition/osl_Condition.cxx, line 257
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 340
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 341
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 379
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 380
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 418
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 471
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 509
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 564
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 646
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 669
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 774
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 806
    /porting/sal/qa/osl/mutex/osl_Mutex.cxx, line 911
    /porting/sal/qa/osl/pipe/osl_Pipe.cxx, line 994
    /porting/sal/qa/osl/pipe/osl_Pipe.cxx, line 996
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1604
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1690
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1745
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1870
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1918
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2105
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2107
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2136
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2138
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2169
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2171
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2229
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2231
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2265
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 2267
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 514
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 540
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 541
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 553
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 695
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 723
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 784
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 864
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 888
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 936
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 971
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1023
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1043
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1135
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1137
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 331
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 358
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 360
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 362
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 406
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 407
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 444
    /porting/sal/qa/osl/semaphore/osl_Semaphore.cxx, line 496
    /porting/sal/qa/osl/socket/osl_AcceptorSocket.cxx, line 217
    /porting/sal/qa/osl/socket/osl_DatagramSocket.cxx, line 271
    /porting/sal/qa/osl/socket/osl_DatagramSocket.cxx, line 289
    /porting/sal/qa/osl/socket/osl_DatagramSocket.cxx, line 330
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3033
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3054
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3055
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3056
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3151
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3173
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3225
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3498
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3748
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3766
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3807
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 1774
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 1793
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3010
    /porting/sal/qa/osl/socket/osl_Socket.cxx, line 3011
    /porting/sal/qa/osl/socket/osl_Socket2.cxx, line 426
    /porting/sal/qa/osl/socket/osl_Socket2.cxx, line 445
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 615
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 616
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 638
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 659
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 660
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 756
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 778
    /porting/sal/qa/osl/socket/osl_StreamSocket.cxx, line 830

==============================================================================
==============================================================================

/porting/sal/inc/osl/thread.hxx -> osl::Thread::createSuspended

==============================================================================

    /* QA */
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 634
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 635
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 649
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 822
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1214
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1217
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1220
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1291
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1294
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1297
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1300
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1303
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1390
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1393
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1396
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1399
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1488
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1491
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 1494
    /porting/sal/qa/osl/process/osl_Thread.cxx, line 613

//    /porting/sal/inc/osl/thread.hxx, line 126

==============================================================================
==============================================================================

/udk/vos/inc/vos/thread.hxx -> vos::OThread::create()

==============================================================================

!!! AsyncEventNotifier implementation moved to comphelper starting with m80
DONE (code changed)     /gsl/forms/source/component/ListBox.cxx, line 1715
        /gsl/forms/source/inc/asyncnotification.hxx, line 151   class

DONE (thread removed, code now called directly):    /framework/binfilter/bf_forms/source/component/forms_Button.cxx, line 360
        /framework/binfilter/bf_forms/source/component/Image.hxx, line 251  class
DONE (thread removed, code now called directly):    /framework/binfilter/bf_forms/source/component/forms_DatabaseForm.cxx, line 2412
        /framework/binfilter/bf_forms/source/component/forms_DatabaseForm.cxx, line 665 class
DONE (thread removed, code now called directly):    /framework/binfilter/bf_forms/source/component/forms_DatabaseForm.cxx, line 2634
        /framework/binfilter/bf_forms/source/component/forms_DatabaseForm.cxx, line 665 class
DONE (thread removed, code now called directly):    /framework/binfilter/bf_forms/source/component/forms_ImageButton.cxx, line 310
        /framework/binfilter/bf_forms/source/component/Image.hxx, line 251  class

DONE (now enters apartment before calling Application::PostUserEvent) /framework/desktop/source/app/officeipcthread.cxx, line 384
        /framework/desktop/source/app/officeipcthread.hxx, line 118 class

    /framework/framework/test/threadtest.cxx, line 737
        /framework/framework/test/threadtest.cxx, line 564  class
    /framework/framework/test/threadtest/threadtest.cxx, line 735
        /framework/framework/test/threadtest/threadtest.cxx, line 562   class

!!! (macht KR, Kandidat fuer STA)
    /framework/sfx2/source/dialog/filedlghelper.cxx, line 1399
        /framework/sfx2/source/dialog/filedlghelper.cxx, line 1246  class
    ( Duplikat in binfilter/bf_sfx2 ist komplett auskommentiert)

??? KR - Kandidat fuer STA (nochmal TRA nach Details fragen, warum hier Thread) ???
    /framework/sfx2/source/dialog/mailmodel.cxx, line 797
        /framework/sfx2/source/dialog/mailmodel.cxx, line 165   class
    ( Duplikat in binfilter/bf_sfx2 ist komplett auskommentiert)

DONE (thread code never executed; removed)    /framework/sfx2/source/doc/doctemplates.cxx, line 900
        /framework/sfx2/source/doc/doctemplates.cxx, line 325   class
DONE (thread code never executed; removed)  !!! Duplikat in binfilter/bf_sfx2 !!!

DONE (thread code never executed; removed):    /graphics/svx/source/form/fmshimp.cxx, line 4010
        /graphics/svx/source/inc/fmshimp.hxx, line 725  class

!!! Although thread code has been changed, it does not work unless Dialog::Execute
!!! is eleminated from the dialog (chain) that uses this thread
DONE (code changed)    /graphics/svx/source/gallery2/galdlg.cxx, line 288
        /graphics/svx/source/gallery2/galdlg.hxx, line 119  class
    ( Code inzwischen verschoben nach /graphics/svx/source/dialog/cuigaldlg.cxx/.hxx)
    ( Duplikat in binfilter/bf_sfx2 ist komplett auskommentiert)

!!! Although thread code has been changed, it does not work unless Dialog::Execute
!!! is eleminated from the dialog (chain) that uses this thread
DONE (code changed)    /graphics/svx/source/gallery2/galdlg.cxx, line 440
        /graphics/svx/source/gallery2/galdlg.hxx, line 174  class
    ( Code inzwischen verschoben nach /graphics/svx/source/dialog/cuigaldlg.cxx/.hxx)
    ( Duplikat in binfilter/bf_sfx2 ist komplett auskommentiert)

DONE (thread removed, code now called directly):    /gsl/forms/source/component/Button.cxx, line 359
        /framework/binfilter/bf_forms/source/component/Image.hxx, line 251  class
DONE (thread removed, code now called directly):    /gsl/forms/source/component/DatabaseForm.cxx, line 2407
        /gsl/forms/source/component/DatabaseForm.cxx, line 667  class
DONE (thread removed, code now called directly):    /gsl/forms/source/component/DatabaseForm.cxx, line 2629
        /gsl/forms/source/component/DatabaseForm.cxx, line 667  class
DONE (thread removed, code now called directly):    /gsl/forms/source/component/ImageButton.cxx, line 309
        /framework/binfilter/bf_forms/source/component/Image.hxx, line 251  class

DONE (no longer used; adapted all affected code, removed)    /oi/so3/source/persist/transprt.cxx, line 1584
        /oi/so3/source/persist/transprt.cxx, line 1273  class
DONE (no longer used; adapted all affected code, removed)    /oi/so3/source/persist/transprt.cxx, line 1602
        /oi/so3/source/persist/transprt.cxx, line 1273  class
DONE (no longer used; adapted all affected code, removed)    /oi/so3/source/persist/transprt.cxx, line 2005
        /oi/so3/source/persist/transprt.cxx, line 1273  class
DONE (no longer used; adapted all affected code, removed)    /oi/so3/source/persist/transprt.cxx, line 2059
        /oi/so3/source/persist/transprt.cxx, line 1273  class

    /udk/cppu/test/test_sec.cxx, line 239
        /udk/cppu/test/test_sec.cxx, line 182   structure name
    /udk/cppu/test/testthreadpool.cxx, line 157
        /udk/cppu/test/testthreadpool.cxx, line 78  class
    /udk/cppu/test/testthreadpool.cxx, line 192
        /udk/cppu/test/testthreadpool.cxx, line 78  class
    /udk/cppu/test/testthreadpool.cxx, line 193
        /udk/cppu/test/testthreadpool.cxx, line 78  class
    /udk/cppu/test/testthreadpool.cxx, line 211
        /udk/cppu/test/testthreadpool.cxx, line 78  class
    /udk/cppu/test/testthreadpool.cxx, line 135
        /udk/cppu/test/testthreadpool.cxx, line 78  class

DONE (all onshot impls adapted)    /udk/vos/source/timer.cxx, line 327
        /udk/vos/source/timer.cxx, line 80

        DONE (no changes, configmgr is not in apartment) ./configmgr/source/treecache/cachewritescheduler.cxx:void     OCacheWriteScheduler::Timer::onShot()
        DONE (no changes, configmgr is not in apartment) ./configmgr/source/treecache/disposetimer.cxx:void    OTreeDisposeScheduler::Timer::onShot()

        DONE (onshot enters apartment before calling something else) ./connectivity/source/cpool/ZConnectionPool.cxx:void SAL_CALL OPoolTimer::onShot()
        DONE (onshot enters apartment before calling something else) ./connectivity/source/cpool/ZConnectionPool.hxx: virtual void SAL_CALL onShot();

        DONE (onshot now enters apartment before calling Application::PostUserEvent) ./extensions/source/plugin/base/xplugin.cxx: virtual void SAL_CALL onShot();
        DONE (onshot now enters apartment before calling Application::PostUserEvent) ./extensions/source/plugin/base/xplugin.cxx:void  PluginDisposer::onShot()

        DONE (onshot enters apartment before calling something else) ./framework/inc/helper/timerhelper.hxx:     virtual void SAL_CALL onShot();
        DONE (onshot enters apartment before calling something else) ./framework/source/helper/timerhelper.cxx:    void SAL_CALL OTimerHelper::onShot()

        DONE (onshot enters apartment before calling something else) ./svtools/source/contnr/fileview.cxx:        virtual void SAL_CALL onShot();
        DONE (onshot enters apartment before calling something else) ./svtools/source/contnr/fileview.cxx:    void SAL_CALL CallbackTimer::onShot()

        DONE (dead code; removed) ./tools/unx/source/fastfsys/folder.cxx: virtual void onShot();
        DONE (dead code; removed) ./tools/unx/source/fastfsys/folder.cxx:void UpdateNotifier::onShot()


!!! Somewhat complex code: for sure is that listeners (even non-threadsafe
!!! ones registered by Office) can be called from thread worker.
!!! I'm unable to determine which uno-refs are affected (most code is shared
!!! and can be called both from thread worker and 'main' thread.
!!! => Solution: Take parts of configmgr out of apartment (impl is already
!!!    threadsafe) Thus all code, 'main' and thread worker are located in
!!!    the same world and no explicite shielding for uno-refs used by thread
!!!    worker is nessacery.

!!! Not all services, just:
    com.sun.star.configuration.theDefaultProvider
    com.sun.star.comp.configuration.ConfigurationProvider
    com.sun.star.configuration.DefaultProvider
    com.sun.star.comp.configuration.AdministrationProvider
    com.sun.star.comp.configuration.OConfigurationRegistry

DONE    /util/configmgr/source/treecache/invalidatetree.cxx, line 207
            /util/configmgr/source/treecache/invalidatetree.cxx, line 169   class

    /util/configmgr/workben/socket/socketpipe.cxx, line 434
        /util/configmgr/workben/socket/socketpipe.cxx, line 87  class
    /util/configmgr/workben/socket/socketpipe.cxx, line 435
        /util/configmgr/workben/socket/socketpipe.cxx, line 87  class

DONE (PluginConnector::NewMessageHdl now enters apartment before calling Application::PostUserEvent) /util/extensions/source/plugin/unx/mediator.cxx, line 74
        /util/extensions/source/plugin/inc/plugin/unx/mediator.hxx, line 203    class

DONE (code adapted)    /util/extensions/source/scanner/scanunx.cxx, line 311
        /util/extensions/source/scanner/scanunx.cxx, line 157   class

    /util/extensions/test/stm/pipetest.cxx, line 414
        /util/extensions/test/stm/pipetest.cxx, line 91 class

!!! filename autocompletion : thread currently disabled - dialog must be
!!! implemented without dialog::execute to solve the problem
    /util/svtools/source/filepicker/inettbc.cxx, line 257
        /util/svtools/source/filepicker/inettbc.cxx, line 199   class

DONE (thread worker now enters apartment before calling Application::PostUserEvent)     /util/svtools/source/plugapp/communi.cxx, line 123
        /util/svtools/inc/communi.hxx, line 118 class
DONE (thread worker now enters apartment before calling Application::PostUserEvent) /util/svtools/source/plugapp/communi.cxx, line 431
        /util/svtools/inc/communi.hxx, line 161 class

==============================================================================
==============================================================================

/udk/vos/inc/vos/thread.hxx -> vos::OThread::createSuspended()

==============================================================================

DONE (no change; CVS module does no longer exist)    /dba/sdb/source/common/sdbset.cxx, line 341
        /dba/sdb/inc/sdbset.hxx, line 107   class

DONE (thread code removed, because it was unused)   /graphics/svx/source/form/fmsrcimp.cxx, line 1254
        /graphics/svx/source/inc/fmsrcimp.hxx, line 120 class

==============================================================================
==============================================================================

/udk/cppu/source/threadpool/thread.hxx -> cppu_threadpool::ORequestThread::create()

//-----------------------------------------
// private thread class for the threadpool
// independent from vos
//-----------------------------------------

==============================================================================

    /udk/cppu/source/threadpool/threadpool.cxx, line 271
        /udk/cppu/source/threadpool/thread.hxx, line 82 class


==============================================================================
Personal tools