Ignore:
Timestamp:
Jan 17, 2007, 7:33:51 PM (19 years ago)
Author:
cinc
Message:

Class DLLs register themselves with the garbage collector now. Some clean ups.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nom/src/nomtkinit.c

    r193 r195  
    180180
    181181
    182 
    183182NOMEXTERN PNOM_ENV NOMLINK nomTkInit(void)
    184183{
     
    196195  ((PNOM_ENV)memPtr)->cbSize=sizeof(NOM_ENV);
    197196  pGlobalNomEnv=(PNOM_ENV)memPtr;
     197
     198#if 0
    198199  if(NO_ERROR!=DosCreateMutexSem(NULL, &((PNOM_ENV)memPtr)->hmtx, DC_SEM_SHARED, FALSE))
    199200    {
     
    201202      return NULL;
    202203    }
     204#endif
    203205
    204206  return (PNOM_ENV)memPtr;
    205 
    206 #if 0
    207   nomPrintf("*************************************\n");
    208   nomPrintf("!! This function must be rewritten !!\n");
    209   nomPrintf("!! It's using OS/2 only memory     !!\n");
    210   nomPrintf("!! functions.                      !!\n");
    211   nomPrintf("*************************************\n");
    212 
    213   /* Check if we already allocated our shared mem */
    214   if(NO_ERROR==DosGetNamedSharedMem(&memPtr,SOMTK_SHARED_MEM_NAME_ROOT , PAG_EXECUTE|PAG_READ|PAG_WRITE)) {
    215     nomPrintf("%s: Found root shared mem: %x.\n", __FUNCTION__, memPtr);
    216     /* Give process access to memory pool*/
    217     DosGetSharedMem(  ((PNOM_ENV)memPtr)->pMemPool, PAG_READ|PAG_WRITE|PAG_EXECUTE);
    218     if(NO_ERROR!=DosSubSetMem(((PNOM_ENV)memPtr)->pMemPool, DOSSUB_SPARSE_OBJ|DOSSUB_SERIALIZE, SOMTK_SHARED_MEM_SIZE_POOL)) {
    219       DosFreeMem(memPool);
    220       DosFreeMem(memPtr);
    221       return NULL;
    222     }
    223     pGlobalNomEnv=(PNOM_ENV)memPtr;
    224     return (PNOM_ENV)memPtr;
    225   }
    226   nomPrintf("%s: No root memory yet\n", __FUNCTION__);
    227 
    228   /* Get the mem for the root structure in a shared memory area */
    229   if(NO_ERROR!=DosAllocSharedMem(&memPtr, SOMTK_SHARED_MEM_NAME_ROOT, SOMTK_SHARED_MEM_SIZE_ROOT,
    230                                  PAG_COMMIT | PAG_EXECUTE | PAG_READ | PAG_WRITE))
    231     return NULL;
    232 
    233   nomPrintf("%s: Got root memory: %x\n", __FUNCTION__, memPtr);
    234 
    235   /* Get our shared memory pool */
    236   if(NO_ERROR!=DosAllocSharedMem(&memPool, NULL, SOMTK_SHARED_MEM_SIZE_POOL,OBJ_GETTABLE | PAG_EXECUTE|PAG_READ|PAG_WRITE)) {
    237     DosFreeMem(memPtr);
    238     return NULL;
    239   }
    240   nomPrintf("%s: Got shared memory pool: %x\n", __FUNCTION__, memPool);
    241 
    242   /* Now init the structure */
    243   memset(memPtr, 0, 1 /*SOMTK_SHARED_MEM_SIZE_ROOT*/);
    244   nomPrintf("%s: zeroed memory\n", __FUNCTION__);
    245 
    246   ((PNOM_ENV)memPtr)->cbSize=sizeof(NOM_ENV);
    247   /* Init memory pool */
    248   if(NO_ERROR!=DosSubSetMem(memPool, DOSSUB_INIT|DOSSUB_SPARSE_OBJ|DOSSUB_SERIALIZE, SOMTK_SHARED_MEM_SIZE_POOL)) {
    249     DosFreeMem(memPool);
    250     DosFreeMem(memPtr);
    251     return NULL;
    252   }
    253   ((PNOM_ENV)memPtr)->pMemPool=memPool;
    254   if(NO_ERROR!=DosCreateMutexSem(NULL, &((PNOM_ENV)memPtr)->hmtx, DC_SEM_SHARED, FALSE))
    255     {
    256       DosFreeMem(memPool);
    257       DosFreeMem(memPtr);
    258       return NULL;
    259     }
    260   pGlobalNomEnv=(PNOM_ENV)memPtr;
    261 
    262   return (PNOM_ENV)memPtr;
    263 #endif
    264 }
    265 
    266 
    267 
    268 
    269 
    270 
    271 
    272 
    273 
    274 
    275 
     207}
     208
     209
     210
     211
     212
     213
     214
     215
     216
     217
     218
Note: See TracChangeset for help on using the changeset viewer.