summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2021-04-27 10:02:13 +0800
committerGitHub <[email protected]>2021-04-27 10:02:13 +0800
commitd7c70443e622bfccd11bb165d2d7c841736ab311 (patch)
tree830a950daa7e2a095401870fefffb4480daf0c28 /components
parentc75ea0ae7dbc31195e9f0cebe76b3472a99352b2 (diff)
parentcb7fa8fceaf5b9e2aacaee132ce5bb0ad49c92aa (diff)
Merge pull request #4644 from mysterywolf/libc-unity
[libc][unistd] complete unistd.c
Diffstat (limited to 'components')
-rw-r--r--components/libc/compilers/common/none-gcc/sys/unistd.h4
-rw-r--r--components/libc/compilers/common/unistd.c26
-rw-r--r--components/libc/compilers/newlib/syscalls.c1
3 files changed, 23 insertions, 8 deletions
diff --git a/components/libc/compilers/common/none-gcc/sys/unistd.h b/components/libc/compilers/common/none-gcc/sys/unistd.h
index 7752a1caf7..2f01f660b3 100644
--- a/components/libc/compilers/common/none-gcc/sys/unistd.h
+++ b/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);
diff --git a/components/libc/compilers/common/unistd.c b/components/libc/compilers/common/unistd.c
index 20130cbb8a..6c81fc7662 100644
--- a/components/libc/compilers/common/unistd.c
+++ b/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)
diff --git a/components/libc/compilers/newlib/syscalls.c b/components/libc/compilers/newlib/syscalls.c
index 6cbc11fd6a..7c5d51eca6 100644
--- a/components/libc/compilers/newlib/syscalls.c
+++ b/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)
{