Ignore:
Timestamp:
Sep 6, 2004, 6:22:46 AM (21 years ago)
Author:
bird
Message:

Fixing, extending, optimizing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/InnoTekLIBC/sharedpm.h

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1460 r1461  
    233233    /** Pointer to fork handle which a child should use when spawned by fork(). */
    234234    void                       *pvForkHandle;
     235    /** Creation timestamp. */
     236    unsigned                    uTimestamp;
    235237
    236238    /** Reserved pool pointer field with default value 0. */
    237     unsigned                    aReserved[40 - 13];
     239    unsigned                    aReserved[40 - 14];
    238240
    239241    /** Number of possible pointers to shared memory starting at pvInherit.
     
    243245    /** Pointer to data inherited from the parent process. */
    244246    __LIBC_PSPMINHERIT volatile pInherit;
     247    /** Pointer to data inherited from the parent process when it's locked.
     248     * When locked pInherit is NULL and this member points to the data instead.
     249     * This prevents spmAlloc() from reclaiming it while it's in use. */
     250    __LIBC_PSPMINHERIT volatile pInheritLocked;
    245251} __LIBC_SPMPROCESS, *__LIBC_PSPMPROCESS;
    246252
     
    367373
    368374/**
     375 * Gets the inherit data associated with the current process.
     376 * This call prevents it from being release by underrun handling.
     377 *
     378 * @returns Pointer to inherit data.
     379 *          The caller must call __libc_spmInheritRelease() when done.
     380 * @returns NULL and errno if no inherit data.
     381 */
     382__LIBC_PSPMINHERIT  __libc_spmInheritRequest(void);
     383
     384/**
     385 * Releases the inherit data locked by the __libc_spmInheritRequest() call.
     386 *
     387 * @returns 0 on success.
     388 * @returns -1 and errno on failure.
     389 */
     390int  __libc_spmInheritRelease(void);
     391
     392/**
     393 * Frees the inherit data of this process.
     394 * This is called when the executable is initialized.
     395 */
     396void  __libc_spmInheritFree(void);
     397
     398/**
    369399 * Create an embryo related to the current process.
    370400 *
Note: See TracChangeset for help on using the changeset viewer.