Ignore:
Timestamp:
Oct 4, 2018, 11:50:21 PM (3 years ago)
Author:
alain
Message:

Complete restructuration of kernel locks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/syscalls/sys_mkdir.c

    r457 r566  
    3333///////////////////////////////////
    3434int sys_mkdir( char     * pathname,
    35                uint32_t   mode )
     35               uint32_t   mode __attribute__((unused)) )
    3636{
    3737    error_t        error;
     
    5858    }
    5959
     60    printk("\n[ERROR] in %s : not implemented yet\n", __FUNCTION__ );
     61    return -1;
     62   
    6063    // copy pathname in kernel space
    6164    hal_strcpy_from_uspace( kbuf , pathname , CONFIG_VFS_MAX_PATH_LENGTH );
    6265
    6366    // get cluster and local pointer on reference process
    64     xptr_t      ref_xp  = process->ref_xp;
    65     process_t * ref_ptr = (process_t *)GET_PTR( ref_xp );
    66     cxy_t       ref_cxy = GET_CXY( ref_xp );
     67    // xptr_t      ref_xp  = process->ref_xp;
     68    // process_t * ref_ptr = (process_t *)GET_PTR( ref_xp );
     69    // cxy_t       ref_cxy = GET_CXY( ref_xp );
    6770
    6871    // get extended pointer on cwd inode
    69     xptr_t cwd_xp = hal_remote_lwd( XPTR( ref_cxy , &ref_ptr->vfs_cwd_xp ) );
     72    // xptr_t cwd_xp = hal_remote_l64( XPTR( ref_cxy , &ref_ptr->vfs_cwd_xp ) );
    7073
    7174    // get the cwd lock in read mode from reference process
    72     remote_rwlock_rd_lock( XPTR( ref_cxy , &ref_ptr->cwd_lock ) );
     75    // remote_rwlock_rd_lock( XPTR( ref_cxy , &ref_ptr->cwd_lock ) );
    7376
    7477    // call the relevant VFS function
    75     error = vfs_mkdir( cwd_xp,
    76                        kbuf,
    77                        mode );
     78    // error = vfs_mkdir( cwd_xp,
     79    //                   kbuf,
     80    //                   mode );
    7881
    7982    // release the cwd lock
    80     remote_rwlock_rd_unlock( XPTR( ref_cxy , &ref_ptr->cwd_lock ) );
     83    // remote_rwlock_rd_unlock( XPTR( ref_cxy , &ref_ptr->cwd_lock ) );
    8184
    8285    if( error )
Note: See TracChangeset for help on using the changeset viewer.