Changeset 1676 for trunk/src/emx/include


Ignore:
Timestamp:
Dec 2, 2004, 2:42:51 AM (21 years ago)
Author:
bird
Message:

Fixed fork() problem by adding DosLoadModuleEx and DosFreeModuleEx. (also fixed heap problem)

Location:
trunk/src/emx/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/emx/startup.h

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1675 r1676  
    88#endif
    99
    10 extern int  _CRT_init (void);
    11 extern void _CRT_term (void);
    12 extern void __ctordtorInit (void);
    13 extern void __ctordtorTerm (void);
     10extern int  _CRT_init(void);
     11extern void _CRT_term(void);
     12extern void __ctordtorInit(void);
     13extern void __ctordtorTerm(void);
     14
     15extern void __ctordtorInit1(int *);
     16extern void __ctordtorTerm1(int *);
     17
     18/** init and term vectors.
     19 * @{
     20 */
     21/** Array of CRT init functions. */
     22extern int __crtinit1__;
     23/** Array of CRT exit functions. */
     24extern int __crtexit1__;
     25/** Array of exception handlers something. */
     26extern int __eh_init__;
     27/** Array of exception handlers something. */
     28extern int __eh_term__;
     29/** Array of constructors. */
     30extern int __CTOR_LIST__;
     31/** Array of destructors. */
     32extern int __DTOR_LIST__;
     33/** @} */
     34
    1435
    1536/* argv[i][-1] contains some flag bits: */
  • trunk/src/emx/include/os2emx.h

    • Property cvs2svn:cvs-rev changed from 1.25 to 1.26
    r1675 r1676  
    1352913529APIRET APIENTRY DosCloseEventSemEx(HEV hev);
    1353013530
     13531/**
     13532 * Extended DosLoadModule() which will make sure the loaded module is
     13533 * loaded in a forked process.
     13534 */
     13535APIRET APIENTRY DosLoadModuleEx(PSZ pszObject, ULONG cbObject, PCSZ pszModule, PHMODULE phmod);
     13536
     13537/**
     13538 * Free module loaded using the extended APIs.
     13539 */
     13540APIRET APIENTRY DosFreeModuleEx(HMODULE hmod);
     13541
     13542
    1353113543#ifdef INCL_EXAPIS_MAPPINGS
    1353213544
     
    1354213554#define DosCloseEventSem(a)        DosCloseEventSemEx((a))
    1354313555
     13556#define DosLoadModule(a,b,c,d)     DosLoadModuleEx(a,b,c,d)
     13557#define DosFreeModule(a)           DosFreeModuleEx(a)
     13558
    1354413559#endif /* INCL_EXAPIS_MAPPINGS */
    1354513560
  • trunk/src/emx/include/sys/fmutex.h

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1675 r1676  
    100100}
    101101
     102/**
     103 * Release a semaphore in the child process after the
     104 * semaphore was locked for the forking the parent.
     105 *
     106 * @param   pSem    Semaphore to unlock.
     107 */
     108static __inline__ void _fmutex_release_fork(_fmutex *pSem)
     109{
     110    pSem->fs = _FMS_AVAILABLE;
     111    pSem->Owner = 0;
     112}
    102113
    103114unsigned _fmutex_create (_fmutex *, unsigned);
Note: See TracChangeset for help on using the changeset viewer.