Fixed passed ot open() for O_CREAT

In nuttx the mode parameter to open is not required but in Linux,
and per the POSIX spec, mode is required if the O_CREAT flag is
passed.

The mode flags are different for NuttX and Linux so a new set of
PX4 defines was added:

PX4_O_MODE_777 - read, write, execute for user, group and other
PX4_O_MODE_666 - read, and write for user, group and other
PX4_O_MODE_600 - read, and write for user

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
Mark Charlebois
2015-06-14 11:26:40 +02:00
committed by Lorenz Meier
parent c6b36073fe
commit 872a26e6da
8 changed files with 19 additions and 12 deletions
+1 -6
View File
@@ -672,12 +672,7 @@ task_main(int argc, char *argv[])
}
/* Open or create the data manager file */
g_task_fd = open(k_data_manager_device_path, O_RDWR | O_CREAT | O_BINARY
#ifdef __PX4_LINUX
// Open with read/write permission for user
, S_IRUSR | S_IWUSR
#endif
);
g_task_fd = open(k_data_manager_device_path, O_RDWR | O_CREAT | O_BINARY, PX4_O_MODE_666);
if (g_task_fd < 0) {
warnx("Could not open data manager file %s", k_data_manager_device_path);