You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/10/31 05:42:07 UTC

(nuttx) branch master updated: libs/libc/spawn: Add minimal implementation for posix_spawnattr_destory.

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new c1db9732c5 libs/libc/spawn: Add minimal implementation for posix_spawnattr_destory.
c1db9732c5 is described below

commit c1db9732c5a71bb28b10e7a7fee05f88d9081b3c
Author: Stuart Ianna <st...@motec.com.au>
AuthorDate: Thu Oct 26 13:25:38 2023 +1100

    libs/libc/spawn: Add minimal implementation for posix_spawnattr_destory.
    
    Add a minimal implementation to suppress warnings when building
    application code shared with other operating systems.
    
    For example:
    
    When building with a c++ compiler and GCC 12.2.0, the following warning is emitted:
    
    nuttx/include/spawn.h:178:40: warning: statement has no effect [-Wunused-value]
      178 | #define posix_spawnattr_destroy(attr) (0)
---
 include/spawn.h                   |  3 +-
 libs/libc/spawn/CMakeLists.txt    |  1 +
 libs/libc/spawn/Make.defs         |  2 +-
 libs/libc/spawn/lib_psa_destroy.c | 60 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/include/spawn.h b/include/spawn.h
index 5400d9f6e3..364944b676 100644
--- a/include/spawn.h
+++ b/include/spawn.h
@@ -174,8 +174,7 @@ int posix_spawn_file_actions_addopen(
 
 int posix_spawnattr_init(FAR posix_spawnattr_t *attr);
 
-/* int posix_spawnattr_destroy(FAR posix_spawnattr_t *); */
-#define posix_spawnattr_destroy(attr) (0)
+int posix_spawnattr_destroy(FAR posix_spawnattr_t *attr);
 
 /* Get spawn attributes interfaces */
 
diff --git a/libs/libc/spawn/CMakeLists.txt b/libs/libc/spawn/CMakeLists.txt
index ac89bb7943..4776accffd 100644
--- a/libs/libc/spawn/CMakeLists.txt
+++ b/libs/libc/spawn/CMakeLists.txt
@@ -29,6 +29,7 @@ set(SRCS
     lib_psa_getschedparam.c
     lib_psa_getschedpolicy.c
     lib_psa_init.c
+    lib_psa_destroy.c
     lib_psa_setflags.c
     lib_psa_setschedparam.c
     lib_psa_setschedpolicy.c
diff --git a/libs/libc/spawn/Make.defs b/libs/libc/spawn/Make.defs
index 3ac9b5bfa3..783c3714e4 100644
--- a/libs/libc/spawn/Make.defs
+++ b/libs/libc/spawn/Make.defs
@@ -26,7 +26,7 @@ CSRCS += lib_psfa_addopen.c lib_psfa_destroy.c lib_psfa_init.c
 CSRCS += lib_psa_getflags.c lib_psa_getschedparam.c lib_psa_getschedpolicy.c
 CSRCS += lib_psa_init.c lib_psa_setflags.c lib_psa_setschedparam.c
 CSRCS += lib_psa_setschedpolicy.c lib_psa_getsigmask.c lib_psa_setsigmask.c
-CSRCS += lib_psa_getstacksize.c lib_psa_setstacksize.c
+CSRCS += lib_psa_getstacksize.c lib_psa_setstacksize.c lib_psa_destroy.c
 
 ifneq ($(CONFIG_BUILD_KERNEL),y)
 CSRCS += lib_psa_getstackaddr.c lib_psa_setstackaddr.c
diff --git a/libs/libc/spawn/lib_psa_destroy.c b/libs/libc/spawn/lib_psa_destroy.c
new file mode 100644
index 0000000000..d6bb22e7cc
--- /dev/null
+++ b/libs/libc/spawn/lib_psa_destroy.c
@@ -0,0 +1,60 @@
+/****************************************************************************
+ * libs/libc/spawn/lib_psa_destroy.c
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.  The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <sched.h>
+#include <spawn.h>
+#include <assert.h>
+#include <errno.h>
+
+#include <nuttx/sched.h>
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: posix_spawnattr_destroy
+ *
+ * Description:
+ *   The posix_spawnattr_destroy() function shall destroy a spawn attributes
+ *   object. A destroyed attr attributes object can be reinitialized using
+ *   posix_spawnattr_init();
+ *
+ * Input Parameters:
+ *   attr - The address of the spawn attributes to be destroyed.
+ *
+ * Returned Value:
+ *   Return 0 on success. On failure returns an error
+ *   number from <errno.h>.
+ *
+ ****************************************************************************/
+
+int posix_spawnattr_destroy(FAR posix_spawnattr_t *attr)
+{
+  UNUSED(attr);
+
+  return OK;
+}