Changeset 74359c6 in mainline for uspace/libc/generic/thread.c


Ignore:
Timestamp:
2006-12-30T13:36:13Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
33c0c649
Parents:
66eb2c8
Message:

Improve comments and fix formatting in (sparc64) TLS implementation.
Improve some comments and formatting in sparc64 uspace thread library
code.

Update required msim version.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/libc/generic/thread.c

    r66eb2c8 r74359c6  
    5656extern char _tbss_end;
    5757
    58 /** Create Thread Local storage area, return pointer to TCB(ThreadControlBlock)
     58/** Create TLS (Thread Local Storage) data structures.
    5959 *
    60  * !! The code requires, that sections .tdata and .tbss are adjacent.
    61  *    It may be changed in the future.
     60 * The code requires, that sections .tdata and .tbss are adjacent. It may be
     61 * changed in the future.
     62 *
     63 * @return Pointer to TCB.
    6264 */
    63 tcb_t * __make_tls(void)
     65tcb_t *__make_tls(void)
    6466{
    6567        void *data;
     
    6971        tcb = __alloc_tls(&data, tls_size);
    7072       
     73        /*
     74         * Copy thread local data from the initialization image.
     75         */
    7176        memcpy(data, &_tdata_start, &_tdata_end - &_tdata_start);
    72         memset(data + (&_tbss_start-&_tdata_start), 0, &_tbss_end-&_tbss_start);
     77        /*
     78         * Zero out the thread local uninitialized data.
     79         */
     80        memset(data + (&_tbss_start - &_tdata_start), 0, &_tbss_end -
     81                &_tbss_start);
     82
    7383        return tcb;
    7484}
     
    8898 *
    8999 * @param uarg Pointer to userspace argument structure.
    90  *
    91  * TODO: Thread stack pages memory leak
    92100 */
    93101void __thread_main(uspace_arg_t *uarg)
     
    125133        uspace_arg_t *uarg;
    126134
    127         stack = (char *) malloc(getpagesize()*THREAD_INITIAL_STACK_PAGES_NO);
     135        stack = (char *) malloc(getpagesize() * THREAD_INITIAL_STACK_PAGES_NO);
    128136        if (!stack)
    129137                return -1;
Note: See TracChangeset for help on using the changeset viewer.