1. 23 7月, 2021 1 次提交
    • T
      fix: fix mq function by enable mq_notify api · 4427142d
      teamol 提交于
      1.modifications:
      modified:   compat/posix/include/mqueue.h
      modified:   compat/posix/src/mqueue.c
      modified:   syscall/ipc_syscall.c
      modified:   syscall/los_syscall.h
      modified:   syscall/syscall_lookup.h
      modified:   testsuites/unittest/posix/mqueue/posix_mqueue_test.cpp
      
      2.add 5 testcases:
      It_posix_queue_205.cpp
      It_posix_queue_206.cpp
      It_posix_queue_207.cpp
      It_posix_queue_208.cpp
      It_posix_queue_209.cpp
      
      3.influence:
      none
      Signed-off-by: Nteamol <28105285@qq.com>
      4427142d
  2. 19 6月, 2021 1 次提交
    • M
      fix: remove redundant headfile · 73a77777
      mucor 提交于
      1.remove redundant headfile in kernel, such as:
        compiler.h;debug.h;automount.h;inode.h;syslog.h;net.h;
      2.split fs.h to file.h and driver.h
      3.move vnode.h and path_cache.h to vfs/include
      4.remove redundant interface and defines
      
      close: #I3RTNR
      Signed-off-by: Nmucor <mucorwang@gmail.com>
      73a77777
  3. 09 6月, 2021 1 次提交
    • C
      feat: support link/symlink/readlink · 6eddc869
      chenjing 提交于
      新增link/symlink/readlink接口的系统调用及内核实现,当前仅支持jffs2文件系统。具体接口说明如下:
      
      一、hard link
      接口原型:
      int link(const char *oldpath, const char *newpath);
      int linkat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath, int flags);
      
      作用:
      创建oldpath的硬链接,名为newpath。
      
      功能说明:
      1、newpath与oldpath必须在同一挂载分区内。
      2、若newpath已存在,不会覆盖,错误码EEXIST。
      3、oldpath必须为普通文件或者软链接文件。
      4、如果oldpath是一个软链接文件,那么:
      若调用link接口或者linkat(flags=0),创建出软链接文件的硬链接;
      若调用linkat(flags = AT_SYMLINK_FOLLOW),创建出软链接所指向源文件的硬链接。
      5、oldpath与newpath对应同一个文件,对oldpath与newpath任一名字的操作都是直接操作文件,没有“原始文件”的说法。
      6、使用cp命令拷贝一个硬链接文件,生成文件的拷贝,新文件的nlink数为1。
      7、删除oldpath或newpath,底层文件仍存在,可以通过另一个path访问。只有当两个path都删除之后,才会真正将文件删除,空间释放。
      
      二、symbol link
      接口原型:
      int symlink(const char *target, const char *linkpath);
      int symlinkat(const char *target, int newdirfd, const char *linkpath);
      
      作用:
      创建一个软链接文件linkpath,存储字符串target。
      
      功能说明:
      1、target可以为任意字符串(长度小于PATH_MAX)。
      2、若linkpath文件名已存在,不会覆盖,错误码EEXIST。
      3、用readlink函数可读取软链接的target内容。
      4、软链接文件本身大小为target长度。
      5、ls时软链接文件类型显示为 'l'。
      6、symlink最大循环次数为CONFIG_FS_MAX_LNK_CNT(目前为40),超出则返回错误,错误码ELOOP。
      7、使用cp命令拷贝一个软链接文件:
      若target是一个文件:创建一个源文件的拷贝,类型为普通文件;
      若target非文件:拷贝失败。
      
      三、readlink
      接口原型:
      ssize_t readlink(const char *pathname, char *buf, size_t bufsiz);
      ssize_t readlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz);
      
      作用:
      读取软链接文件存放的的target内容。
      
      功能说明:
      1、pathname必须为软链接文件,否则错误码EINVAL。
      2、如果bufsiz小于target长度,则截断target。
      
      close #I3Q0OD
      
      Change-Id: I3864d6069b627b705a369e8e32dc1eb922dc0157
      Signed-off-by: Nchenjing <chenjing139@huawei.com>
      6eddc869
  4. 07 6月, 2021 2 次提交
  5. 05 6月, 2021 1 次提交
  6. 04 6月, 2021 1 次提交
    • Yansira's avatar
      feat: timer_create支持以SIGEV_THREAD方式创建定时器 · e5f6bf05
      Yansira 提交于
      【背景】当前timer_create接口不支持以SIGEV_THREAD的方式创建多个定时器
      
      【修改方案】
      1、内核timer_create接口在创建software timers相应的线程时,使用线程
      taskCB所携带的信息识别各个线程的信号并依据该信息分别派发出信号。
      2、关于用户任务操作许可验证的修改,现在允许同一用户线程向其自身派发信
      号,软件定时器计时结束,向用户态发送相应的信号,完成用户态线程的回调。
      
      【影响】
      对现有的产品暂无影响。
      
      re #I3SRFI
      Signed-off-by: Yansira's avataryansira <yansira@hotmail.com>
      Change-Id: Ia23f5ef01975bf867dd7f5db797a30c264c50501
      e5f6bf05
  7. 24 5月, 2021 1 次提交
    • Z
      fix: 解决kill进程时无法保证进程的已持有的内核资源合理释放. · cf89f016
      zhushengle 提交于
      背景: 当前信号实现原理是在系统调用结束和中断结束时检查是否有信号处理,
            如果有信号处理就切去处理信号,信号处理结束后回来继续按原来流程执行。
      问题:当用户态线程在执行系统调用或缺页异常时,运行在内核态,如果此时有信
            号需要处理,且该线程已经持有了部分内核资源(如:锁,内存等), 此时如
            果有中断发生,则在中断结束时,就会去处理该信号,此时用户态线程持有
            了内核未释放的资源跑到了用户态去运行,如果该线程在用户态出现问题,
            那么它持有的内核资源就无法被释放了。
      方案:用户态线程在执行系统调用和缺页异常时暂时屏蔽信号,防止此时有中断去
            处理信号,等系统调用结束或缺页异常结束时再去处理信号。
      解决的问题:
        1. 执行系统调用或缺页异常时屏蔽信号,防止中断去处理信号
        2.解决无法kill 因为用户态的锁、ipc等阻塞的用户态线程
        3.进程退出方式转变为: 依次通过kill去杀死该进程的所有线程
      
      Close #I3S0N0
      
      Change-Id: I0c48b9c89382826191b8a9326c71b57ba84124c2
      cf89f016
  8. 20 5月, 2021 1 次提交
  9. 11 5月, 2021 1 次提交
  10. 08 5月, 2021 1 次提交
  11. 26 4月, 2021 1 次提交
  12. 19 4月, 2021 1 次提交
  13. 17 4月, 2021 1 次提交
    • Y
      IssueNo:#I3G1Q7 · 74af06d5
      YOUR_NAME 提交于
      Description:Fix related interface competition issues.
      Sig:liteos_a
      Feature or Bugfix:Bugfix
      Binary Source:No
      
      Change-Id: I1198408be9ce577bbf0735e3da53d0834622f429
      74af06d5
  14. 14 4月, 2021 1 次提交
  15. 09 4月, 2021 1 次提交
    • G
      feat: add and fix some syscall · ce849f21
      Guangyao Ma 提交于
      add SysFstatat64 SysInfo SysVfork SysGetrusage
      fix up SysDup SysFcntl
      
      Change-Id: If41228da62f406312858921e48e2210e04f16a16
      ce849f21
  16. 19 3月, 2021 1 次提交
    • W
      Description:vfs refactoring · d9707508
      wangchenyang 提交于
      Feature or Bugfix:Feature
      Binary Source:Huawei
      PrivateCode(Yes/No):Yes
      
      Change-Id: I175d2648bc6f9078c34de2c0a5c93fda10b86c47
      ChangeID:13306388
      d9707508
  17. 13 3月, 2021 1 次提交
  18. 11 3月, 2021 1 次提交
  19. 27 2月, 2021 1 次提交
  20. 24 12月, 2020 1 次提交
  21. 08 12月, 2020 1 次提交
  22. 17 11月, 2020 3 次提交
  23. 05 11月, 2020 1 次提交
  24. 13 10月, 2020 1 次提交
  25. 08 9月, 2020 1 次提交