Changeset 440 for trunk/kernel/syscalls/sys_barrier.c
- Timestamp:
- May 3, 2018, 5:51:22 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/syscalls/sys_barrier.c
r23 r440 2 2 * sys_barrier.c - Access a POSIX barrier. 3 3 * 4 * authors Alain Greiner (2016,2017 )4 * authors Alain Greiner (2016,2017,2018) 5 5 * 6 6 * Copyright (c) UPMC Sorbonne Universites … … 37 37 { 38 38 error_t error; 39 paddr_t paddr;39 vseg_t * vseg; 40 40 41 thread_t * this = CURRENT_THREAD; 41 thread_t * this = CURRENT_THREAD; 42 process_t * process = this->process; 42 43 43 44 // check vaddr in user vspace 44 error = vmm_v2p_translate( false , vaddr , &paddr ); 45 error = vmm_get_vseg( process , (intptr_t)vaddr , &vseg ); 46 45 47 if( error ) 46 48 { 47 printk("\n[ERROR] in %s : illegal barrier virtual address = %x\n", 48 __FUNCTION__ , (intptr_t)vaddr ); 49 50 #if DEBUG_SYSCALLS_ERROR 51 printk("\n[ERROR] in %s : unmapped barrier %x / thread %x / process %x\n", 52 __FUNCTION__ , (intptr_t)vaddr , this->trdid , process->pid ); 53 vmm_display( process , false ); 54 #endif 49 55 this->errno = error; 50 56 return -1; … … 61 67 if( error ) 62 68 { 63 printk("\n[ERROR] in %s : cannot create barrier = %x\n", 64 __FUNCTION__ , (intptr_t)vaddr ); 69 70 #if DEBUG_SYSCALLS_ERROR 71 printk("\n[ERROR] in %s : cannot create barrier %x / thread %x / process %x\n", 72 __FUNCTION__ , (intptr_t)vaddr , this->trdid , process->pid ); 73 #endif 65 74 this->errno = error; 66 75 return -1; … … 75 84 if( barrier_xp == XPTR_NULL ) // user error 76 85 { 77 printk("\n[ERROR] in %s : barrier %x not registered\n", 78 __FUNCTION__ , (intptr_t)vaddr ); 86 87 #if DEBUG_SYSCALLS_ERROR 88 printk("\n[ERROR] in %s : barrier %x not registered / thread %x / process %x\n", 89 __FUNCTION__ , (intptr_t)vaddr , this->trdid , process->pid ); 90 #endif 79 91 this->errno = EINVAL; 80 92 return -1; … … 93 105 if( barrier_xp == XPTR_NULL ) // user error 94 106 { 95 printk("\n[ERROR] in %s : barrier %x not registered\n", 96 __FUNCTION__ , (intptr_t)vaddr ); 107 108 #if DEBUG_SYSCALLS_ERROR 109 printk("\n[ERROR] in %s : barrier %x not registered / thread %x / process %x\n", 110 __FUNCTION__ , (intptr_t)vaddr , this->trdid , process->pid ); 111 #endif 97 112 this->errno = EINVAL; 98 113 return -1;
Note: See TracChangeset
for help on using the changeset viewer.