Ignore:
Timestamp:
May 3, 2018, 5:51:22 PM (7 years ago)
Author:
alain
Message:

1/ Fix a bug in the Multithreaded "sort" applicationr:
The pthread_create() arguments must be declared as global variables.
2/ The exit syscall can be called by any thread of a process..

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libs/mini-libpthread/pthread.c

    r439 r440  
    22 * pthread.c - User side pthread related functions implementation.
    33 *
    4  * Author     Alain Greiner (2016,2017)
     4 * Author     Alain Greiner (2016,2017,2018)
    55 *
    66 * Copyright (c) UPMC Sorbonne Universites
     
    113113
    114114#if PTHREAD_BARRIER_DEBUG
    115 printf("\n[BARRIER] %s : sqt_node[%d][%d][%d] : arity = %d / parent = %x\n"
    116 "child0 = %x / child1 = %x / child2 = %x / child3 = %x\n",
    117 __FUNCTION__, x, y, level, node->arity, node->parent,
     115printf("\n[BARRIER] %s : sqt_node[%d][%d][%d] / arity %d / desc %x\n"
     116"parent %x / child0 %x / child1 %x / child2 %x / child3 %x\n",
     117__FUNCTION__, x, y, level, node->arity, node, node->parent,
    118118node->child[0], node->child[1], node->child[2], node->child[3] );
    119119#endif
     
    159159
    160160#if PTHREAD_BARRIER_DEBUG
    161 printf("\n[BARRIER] %s : sqt_node[%d][%d][%d] : arity = %d / parent = %x\n"
    162 "child0 = %x / child1 = %x / child2 = %x / child3 = %x\n",
    163 __FUNCTION__, x, y, level, node->arity, node->parent,
     161printf("\n[BARRIER] %s : sqt_node[%d][%d][%d] / arity %d / desc %x\n"
     162"parent %x / child0 %x / child1 %x / child2 %x / child3 %x\n",
     163__FUNCTION__, x, y, level, node->arity, node, node->parent,
    164164node->child[0], node->child[1], node->child[2], node->child[3] );
    165165#endif
     
    250250                     barrier->node[x][y][l] = node;
    251251
    252 #if PTHREAD_BARRIER_DEBUG
    253 printf("\n[BARRIER] %s : sqt_node[%d][%d][%d] : vaddr = %x\n",
    254 __FUNCTION__ , x , y , l , node );
    255 #endif
    256252                 }
    257253            }
Note: See TracChangeset for help on using the changeset viewer.