Changeset f77c1c9 in mainline for uspace/srv/vfs


Ignore:
Timestamp:
2017-12-08T21:03:35Z (8 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c19a5a59
Parents:
c1694b6b
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-07 19:44:55)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-08 21:03:35)
Message:

Return VFS handles separately from error codes.

Location:
uspace/srv/vfs
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs.h

    rc1694b6b rf77c1c9  
    206206extern int vfs_open_node_remote(vfs_node_t *);
    207207
    208 extern int vfs_op_clone(int oldfd, int newfd, bool desc);
     208extern int vfs_op_clone(int oldfd, int newfd, bool desc, int *);
    209209extern int vfs_op_fsprobe(const char *, service_id_t, vfs_fs_probe_info_t *);
    210210extern int vfs_op_mount(int mpfd, unsigned servid, unsigned flags, unsigned instance, const char *opts, const char *fsname, int *outfd);
  • uspace/srv/vfs/vfs_ipc.c

    rc1694b6b rf77c1c9  
    4141        bool desc = IPC_GET_ARG3(*request);
    4242       
    43         int ret = vfs_op_clone(oldfd, newfd, desc);
    44         async_answer_0(rid, ret);
     43        int outfd = -1;
     44        int rc = vfs_op_clone(oldfd, newfd, desc, &outfd);
     45        async_answer_1(rid, rc, outfd);
    4546}
    4647
  • uspace/srv/vfs/vfs_ops.c

    rc1694b6b rf77c1c9  
    8686}
    8787
    88 int vfs_op_clone(int oldfd, int newfd, bool desc)
     88int vfs_op_clone(int oldfd, int newfd, bool desc, int *out_fd)
    8989{
    9090        int rc;
     
    118118        vfs_file_put(oldfile);
    119119       
    120         return rc;
     120        if (rc < 0) {
     121                return rc;
     122        }
     123       
     124        *out_fd = rc;
     125        return EOK;
    121126}
    122127
Note: See TracChangeset for help on using the changeset viewer.