Browse Source

Merge pull request #4644 from mysterywolf/libc-unity

[libc][unistd] complete unistd.c
Bernard Xiong 4 years ago
parent
commit
d7c70443e6

+ 1 - 3
components/libc/compilers/common/none-gcc/sys/unistd.h

@@ -66,13 +66,11 @@
 
 #endif
 
-
 int     isatty      (int fd);
 char *  ttyname     (int desc);
-
 unsigned int sleep(unsigned int seconds);
 int usleep(useconds_t usec);
-
+pid_t gettid(void);
 pid_t getpid(void);
 pid_t getppid(void);
 uid_t getuid(void);

+ 21 - 5
components/libc/compilers/common/unistd.c

@@ -15,18 +15,29 @@
 
 #ifdef RT_USING_POSIX_TERMIOS
 #include "termios.h"
-
 int isatty(int fd)
 {
     struct termios ts;
-    return(tcgetattr(fd,&ts) != -1);/*true if no error (is a tty)*/
+    return(tcgetattr(fd, &ts) != -1); /*true if no error (is a tty)*/
+}
+#else
+int isatty(int fd)
+{
+    if (fd >=0 && fd < 3)
+    {
+        return 1;
+    }
+    else
+    {
+        return 0;
+    }
 }
-RTM_EXPORT(isatty);
 #endif
+RTM_EXPORT(isatty);
 
 char *ttyname(int fd)
 {
-    return "/dev/tty0"; /*TODO: need to add more specific*/
+    return "/dev/tty"; /*TODO: need to add more specific*/
 }
 RTM_EXPORT(ttyname);
 
@@ -50,11 +61,16 @@ int usleep(useconds_t usec)
 }
 RTM_EXPORT(usleep);
 
-pid_t getpid(void)
+pid_t gettid(void)
 {
     /*TODO*/
     return 0;
 }
+
+pid_t getpid(void)
+{
+    return gettid();
+}
 RTM_EXPORT(getpid);
 
 pid_t getppid(void)

+ 1 - 0
components/libc/compilers/newlib/syscalls.c

@@ -98,6 +98,7 @@ _isatty_r(struct _reent *ptr, int fd)
         return 0;
     }
 }
+
 int
 _kill_r(struct _reent *ptr, int pid, int sig)
 {