Changeset 625 for trunk/kernel/syscalls/sys_close.c
- Timestamp:
- Apr 10, 2019, 10:09:39 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/syscalls/sys_close.c
r594 r625 35 35 int sys_close ( uint32_t file_id ) 36 36 { 37 error_t error; 38 xptr_t file_xp; 37 error_t error; 38 xptr_t file_xp; 39 cxy_t file_cxy; 40 vfs_file_t * file_ptr; 41 vfs_inode_type_t file_type; 39 42 40 43 thread_t * this = CURRENT_THREAD; … … 54 57 if( file_id >= CONFIG_PROCESS_FILE_MAX_NR ) 55 58 { 56 printk("\n[ERROR] in %s : illegal file descriptor index = %d\n", 57 __FUNCTION__ , file_id ); 59 60 #if DEBUG_SYSCALLS_ERROR 61 printk("\n[ERROR] in %s : illegal file descriptor index = %d\n", 62 __FUNCTION__ , file_id ); 63 #endif 58 64 this->errno = EBADFD; 59 65 return -1; … … 73 79 return -1; 74 80 } 81 82 // get file type 83 file_cxy = GET_CXY( file_xp ); 84 file_ptr = GET_PTR( file_xp ); 85 file_type = hal_remote_l32( XPTR( file_cxy , &file_ptr->type ) ); 86 87 if( file_type == INODE_TYPE_DIR ) 88 { 89 90 #if DEBUG_SYSCALLS_ERROR 91 printk("\n[ERROR] in %s : file descriptor %d is a directory\n", 92 __FUNCTION__ , file_id ); 93 #endif 94 this->errno = EBADFD; 95 return -1; 96 } 75 97 76 98 // call the relevant VFS function
Note: See TracChangeset
for help on using the changeset viewer.