瀏覽代碼

Merge pull request #1221 from BernardXiong/master

merge O_CREAT issue
Bernard Xiong 7 年之前
父節點
當前提交
2e71b8a741

+ 2 - 2
components/cplusplus/Thread.cpp

@@ -6,7 +6,7 @@ Thread::Thread(rt_uint32_t stack_size,
                rt_uint8_t  priority,
                rt_uint32_t tick,
                const char *name)
-: _entry(RT_NULL), started(false)
+: _entry(RT_NULL), _param(RT_NULL), started(false)
 {
     rt_event_init(&_event, name, 0);
 
@@ -24,7 +24,7 @@ Thread::Thread(void (*entry)(void *p),
                rt_uint8_t  priority,
                rt_uint32_t tick,
                const char *name)
-: _entry(RT_NULL), started(false), _param(p)
+: _entry(RT_NULL), _param(p), started(false)
 {
     rt_event_init(&_event, name, 0);
 

+ 1 - 3
components/dfs/filesystems/devfs/devfs.c

@@ -19,6 +19,7 @@
  *
  * Change Logs:
  * Date           Author       Notes
+ * 2018-02-11     Bernard      Ignore O_CREAT flag in open.
  */
 
 #include <rtthread.h>
@@ -137,9 +138,6 @@ int dfs_device_fs_open(struct dfs_fd *file)
     rt_err_t result;
     rt_device_t device;
 
-    if (file->flags & O_CREAT)
-        return -EINVAL;
-
     /* open root directory */
     if ((file->path[0] == '/') && (file->path[1] == '\0') &&
         (file->flags & O_DIRECTORY))

+ 3 - 2
components/libc/compilers/dlib/libc.c

@@ -36,7 +36,7 @@
 
 int libc_system_init(void)
 {
-#if defined(RT_USING_DFS) & defined(RT_USING_DFS_DEVFS)
+#if defined(RT_USING_DFS) && defined(RT_USING_DFS_DEVFS)
     rt_device_t dev_console;
 
     dev_console = rt_console_get_device();
@@ -50,10 +50,11 @@ int libc_system_init(void)
     }
 #endif
 
-#if defined RT_USING_PTHREADS && !defined RT_USING_COMPONENTS_INIT
+#if defined (RT_USING_PTHREADS) && !defined (RT_USING_COMPONENTS_INIT)
     pthread_system_init();
 #endif
 
     return 0;
 }
 INIT_COMPONENT_EXPORT(libc_system_init);
+

+ 3 - 1
components/libc/compilers/newlib/stdio.c

@@ -81,7 +81,9 @@ int libc_stdio_set_console(const char* device_name, int mode)
         _GLOBAL_REENT->__sdidinit = 1;
     }
 
-    return fileno(std_console);
+    if (std_console) return fileno(std_console);
+
+    return -1;
 }
 
 int libc_stdio_get_console(void) {

+ 4 - 4
include/rtdbg.h

@@ -32,15 +32,15 @@
  * header file.
  *
  * #define DBG_SECTION_NAME    "[ MOD]"
- * #define DEBUG_ENABLE     // enable debug macro
- * #define DEBUG_LEVEL      DBG_INFO
- * #include <rtdbg.h>       // must after of DEBUG_ENABLE or some other options
+ * #define DBG_ENABLE          // enable debug macro
+ * #define DBG_LEVEL           DBG_INFO
+ * #include <rtdbg.h>          // must after of DEBUG_ENABLE or some other options
  *
  * Then in your C/C++ file, you can use dbg_log macro to print out logs:
  * dbg_log(DBG_INFO, "this is a log!\n");
  *
  * Or if you want to use different color for different kinds log, you can
- * #define DEBUG_COLOR
+ * #define DBG_COLOR
  */
 
 #ifndef RT_DBG_H__