Changeset 614 for trunk/kernel/syscalls


Ignore:
Timestamp:
Jan 15, 2019, 1:59:32 PM (6 years ago)
Author:
alain
Message:

1) introduce a dev_ioc_sync_write() function in IOC API,

to improve the DEVFS synchronous update.

2) fix a big bug in both the user_dir_create() and user_dir_destroy()

functions: add an extended pointer on the reference client process
in the function's arguments.

Location:
trunk/kernel/syscalls
Files:
3 edited

Legend:

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

    r612 r614  
    7474    if( dir_cxy == local_cxy )
    7575    {
    76         user_dir_destroy( dir_ptr );
     76        user_dir_destroy( dir_ptr,
     77                          process->ref_xp );
    7778    }
    7879    else
    7980    {
    8081        rpc_user_dir_destroy_client( dir_cxy,
    81                                      dir_ptr );
     82                                     dir_ptr,
     83                                     process->ref_xp );
    8284    }
    8385
  • trunk/kernel/syscalls/sys_display.c

    r612 r614  
    357357
    358358        // display mapper
    359         error = mapper_display_page( mapper_xp , page_id , nbytes , kbuf );
     359        error = mapper_display_page( mapper_xp , page_id , nbytes );
    360360
    361361        if( error )
  • trunk/kernel/syscalls/sys_opendir.c

    r612 r614  
    143143        }
    144144   
    145     // create a new user_dir_t structure in inode cluster
    146     // and get the user space pointer on dirent array
     145    // create a new user_dir_t structure in target directory inode cluster
     146    // map it in the reference user process VMM (in a new ANON vseg)
     147    // an get the local pointer on the created user_dir_t structure
    147148    if( inode_cxy == local_cxy )
    148149    {
    149         dir_ptr = user_dir_create( inode_ptr );
     150        dir_ptr = user_dir_create( inode_ptr,
     151                                   process->ref_xp );
    150152    }
    151153    else
     
    153155        rpc_user_dir_create_client( inode_cxy,
    154156                                    inode_ptr,
     157                                    process->ref_xp,
    155158                                    &dir_ptr );
    156159    }
Note: See TracChangeset for help on using the changeset viewer.