From 44499ed46c643c3fcfe0498015502999c01358bd Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Thu, 11 Sep 2014 08:37:06 -0600 Subject: [PATCH] Rename some functions and reshuffling some paramters --- include/nuttx/lib.h | 11 ++- libc/misc/Make.defs | 4 +- libc/misc/{lib_init.c => lib_stream.c} | 101 ++++++++++++++++--------- sched/group/group_leave.c | 7 +- sched/group/group_setupstreams.c | 7 +- 5 files changed, 76 insertions(+), 54 deletions(-) rename libc/misc/{lib_init.c => lib_stream.c} (50%) diff --git a/include/nuttx/lib.h b/include/nuttx/lib.h index 3bc581e18f..5b151ed9ed 100644 --- a/include/nuttx/lib.h +++ b/include/nuttx/lib.h @@ -2,7 +2,7 @@ * include/nuttx/lib.h * Non-standard, internal APIs available in lib/. * - * Copyright (C) 2007-2009, 2012-2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2012-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -56,7 +56,8 @@ #ifdef __cplusplus #define EXTERN extern "C" -extern "C" { +extern "C" +{ #else #define EXTERN extern #endif @@ -68,9 +69,11 @@ extern "C" { /* Functions contained in lib_init.c ****************************************/ void weak_function lib_initialize(void); + #if CONFIG_NFILE_STREAMS > 0 -void lib_streaminit(FAR struct streamlist *list); -void lib_releaselist(FAR struct streamlist *list); +struct task_group_s; +void lib_stream_initialize(FAR struct task_group_s *group); +void lib_stream_release(FAR struct task_group_s *group); #endif #undef EXTERN diff --git a/libc/misc/Make.defs b/libc/misc/Make.defs index 20b1dc1d03..6a2bd63e4d 100644 --- a/libc/misc/Make.defs +++ b/libc/misc/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # libc/misc/Make.defs # -# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012, 2014 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ # Add the internal C files to the build -CSRCS += lib_init.c lib_filesem.c +CSRCS += lib_stream.c lib_filesem.c # Add C files that depend on file OR socket descriptors diff --git a/libc/misc/lib_init.c b/libc/misc/lib_stream.c similarity index 50% rename from libc/misc/lib_init.c rename to libc/misc/lib_stream.c index f4f4e5b6ec..5b42f0c01d 100644 --- a/libc/misc/lib_init.c +++ b/libc/misc/lib_stream.c @@ -1,7 +1,7 @@ -/************************************************************ - * libc/misc/lib_init.c +/**************************************************************************** + * libc/misc/lib_stream.c * - * Copyright (C) 2007, 2011, 2013 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2011, 2013-2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -31,11 +31,11 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - ************************************************************/ + ****************************************************************************/ -/************************************************************ +/**************************************************************************** * Included Files - ************************************************************/ + ****************************************************************************/ #include @@ -44,53 +44,67 @@ #include #include +#include #include #include #include "lib_internal.h" -#if !defined(CONFIG_BUILD_PROTECTED) || defined(__KERNEL__) || \ - defined(CONFIG_BUILD_KERNEL) +#if (!defined(CONFIG_BUILD_PROTECTED) && !defined(CONFIG_BUILD_KERNEL)) || \ + defined(__KERNEL__) -/************************************************************ +/**************************************************************************** * Pre-processor Definitions - ************************************************************/ + ****************************************************************************/ -/************************************************************ +/**************************************************************************** * Private Variables - ************************************************************/ + ****************************************************************************/ -/************************************************************ +/**************************************************************************** * Private Functions - ************************************************************/ + ****************************************************************************/ -/************************************************************ +/**************************************************************************** * Public Functions - ************************************************************/ + ****************************************************************************/ -/************************************************************ +/**************************************************************************** * Name: lib_initialize - ************************************************************/ - -/* General library initialization hook */ + * + * Description: + * General library initialization hook + * + ****************************************************************************/ void weak_const_function lib_initialize(void) { } -/************************************************************ - * Name: lib_streaminit - ************************************************************/ +/**************************************************************************** + * Name: lib_stream_initialize + * + * Description: + * This function is called when a new task is allocated. It initializes + * the streamlist instance that is stored in the task group. + * + ****************************************************************************/ #if CONFIG_NFILE_STREAMS > 0 -/* The following function is called when a new task is allocated. It - * initializees the streamlist instance that is stored in the task group. - */ - -void lib_streaminit(FAR struct streamlist *list) +void lib_stream_initialize(FAR struct task_group_s *group) { + FAR struct streamlist *list; int i; +#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \ + defined(CONFIG_MM_KERNEL_HEAP) + DEBUGASSERT(group && group->tg_streamlist); + list = group->tg_streamlist; +#else + DEBUGASSERT(group); + list = &group->tg_streamlist; +#endif + /* Initialize the list access mutex */ (void)sem_init(&list->sl_sem, 0, 1); @@ -114,19 +128,34 @@ void lib_streaminit(FAR struct streamlist *list) lib_sem_initialize(&list->sl_streams[i]); } } +#endif /* CONFIG_NFILE_STREAMS > 0 */ -/* This function is called when a TCB is destroyed. Note that is - * does not close the files by releasing the inode. This happens - * separately when the file descriptor list is freed. - */ +/**************************************************************************** + * Name: lib_stream_init + * + * Description: + * This function is called when a TCB is destroyed. Note that it does not + * close the files by releasing the inode. That happens separately when + * the file descriptor list is freed. + * + ****************************************************************************/ -void lib_releaselist(FAR struct streamlist *list) +#if CONFIG_NFILE_STREAMS > 0 +void lib_stream_release(FAR struct task_group_s *group) { + FAR struct streamlist *list; #if CONFIG_STDIO_BUFFER_SIZE > 0 int i; #endif - DEBUGASSERT(list); +#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \ + defined(CONFIG_MM_KERNEL_HEAP) + DEBUGASSERT(group && group->tg_streamlist); + list = group->tg_streamlist; +#else + DEBUGASSERT(group); + list = &group->tg_streamlist; +#endif /* Destroy the semaphore and release the filelist */ @@ -150,6 +179,6 @@ void lib_releaselist(FAR struct streamlist *list) } #endif } +#endif /* CONFIG_NFILE_STREAMS > 0 */ -#endif /* !CONFIG_BUILD_PROTECTED || __KERNEL__ || CONFIG_BUILD_KERNEL */ -#endif /* CONFIG_NFILE_STREAMS */ +#endif /* (!CONFIG_BUILD_PROTECTED &&7 !CONFIG_BUILD_KERNEL) || __KERNEL__ */ diff --git a/sched/group/group_leave.c b/sched/group/group_leave.c index 36b84c836f..bcf9e1daeb 100644 --- a/sched/group/group_leave.c +++ b/sched/group/group_leave.c @@ -181,12 +181,7 @@ static inline void group_release(FAR struct task_group_s *group) #if CONFIG_NFILE_STREAMS > 0 /* Free resource held by the stream list */ -#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \ - defined(CONFIG_MM_KERNEL_HEAP) - lib_releaselist(group->tg_streamlist); -#else - lib_releaselist(&group->tg_streamlist); -#endif + lib_stream_release(group); #endif /* CONFIG_NFILE_STREAMS */ #endif /* CONFIG_NFILE_DESCRIPTORS */ diff --git a/sched/group/group_setupstreams.c b/sched/group/group_setupstreams.c index 24254dcdd3..72fc12dd6e 100644 --- a/sched/group/group_setupstreams.c +++ b/sched/group/group_setupstreams.c @@ -78,12 +78,7 @@ int group_setupstreams(FAR struct task_tcb_s *tcb) /* Initialize file streams for the task group */ -#if (defined(CONFIG_BUILD_PROTECTED) || defined(CONFIG_BUILD_KERNEL)) && \ - defined(CONFIG_MM_KERNEL_HEAP) - lib_streaminit(tcb->cmn.group->tg_streamlist); -#else - lib_streaminit(&tcb->cmn.group->tg_streamlist); -#endif + lib_stream_initialize(tcb->cmn.group); /* fdopen to get the stdin, stdout and stderr streams. The following logic * depends on the fact that the library layer will allocate FILEs in order.