Re: GSoC: Hello World Patch
On Tue, Mar 29, 2022 at 2:59 PM Kamlesh Bharodiya wrote: > Hi Joel, > > I had tried to run the program using integrated simulator with gdb. That > didn't work for me (need to figure out). > Hmm.. sis as integrated with gdb was disabled in favor of the more powerful standalone newer versions of sis. This happened before COVID if I remember correctly. Where did you find the instructions? We had a lot of instructions built up around using sis for the erc32 as built into gdb. You may have stumbled across a place we have missed updating. > However, I could run it with remote target SIS connected with GDB as well > as with Emulator. I am attaching the screenshots. > That is what is intended. Looks great. Make sure you are in the table in the wiki I cited. And start looking at projects and asking questions. --joel > > Regards, > Kamlesh > > > On Tue, Mar 29, 2022 at 12:21 AM Joel Sherrill wrote: > >> Looks good. Email (or send it to me on Discord) a screenshot in gdb with >> that program. >> >> Then add yourself to https://devel.rtems.org/wiki/GSoC/2022 >> >> Feel free to discuss any projects you are interested in here or Discord. >> >> On Mon, Mar 28, 2022 at 1:10 PM Kamlesh Bharodiya < >> brkamleshg...@gmail.com> wrote: >> >>> Hi, >>> >>> I would like to participate in the GSoC 2022 Program. I have built and >>> run >>> the Hello World Program. Please find below: (also attaching the patch) >>> >>> commit bdd1ae76926135fbadc7920eefe6a303342e4a19 (HEAD -> master) >>> Author: Kamlesh_Bharodiya >>> Date: Sun Mar 27 22:22:47 2022 +0530 >>> >>> [GSoC Entry] Modified Hello World Test >>> >>> diff --git a/testsuites/samples/hello/init.c >>> b/testsuites/samples/hello/init.c >>> index 34ded37c55..f4288833f9 100644 >>> --- a/testsuites/samples/hello/init.c >>> +++ b/testsuites/samples/hello/init.c >>> @@ -22,7 +22,7 @@ static rtems_task Init( >>> { >>>rtems_print_printer_fprintf_putc(&rtems_test_printer); >>>TEST_BEGIN(); >>> - printf( "Hello World\n" ); >>> + printf( "Hello to the World of RTEMS\n" ); >>>TEST_END(); >>>rtems_test_exit( 0 ); >>> } >>> >>> Regards, >>> Kamlesh >>> ___ >>> devel mailing list >>> devel@rtems.org >>> http://lists.rtems.org/mailman/listinfo/devel >>> >> ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 1/2] validation: Use individual names for ident tests
Make the task configuration reusable. Update #3716. --- .../testsuites/validation/libvalidation.yml | 1 + testsuites/validation/tc-barrier-ident.c | 5 +- testsuites/validation/tc-message-ident.c | 5 +- testsuites/validation/tc-part-ident.c | 5 +- testsuites/validation/tc-ratemon-ident.c | 5 +- testsuites/validation/tc-sem-ident.c | 5 +- testsuites/validation/tc-task-ident.c | 27 +--- testsuites/validation/tc-timer-ident.c| 5 +- testsuites/validation/tc-userext-ident.c | 5 +- testsuites/validation/tr-object-ident-local.c | 10 ++- testsuites/validation/tr-object-ident-local.h | 9 +-- testsuites/validation/tr-object-ident.c | 10 ++- testsuites/validation/tr-object-ident.h | 9 +-- .../validation/tx-default-task-config.c | 61 +++ testsuites/validation/tx-support.h| 9 +++ 15 files changed, 130 insertions(+), 41 deletions(-) create mode 100644 testsuites/validation/tx-default-task-config.c diff --git a/spec/build/testsuites/validation/libvalidation.yml b/spec/build/testsuites/validation/libvalidation.yml index 37603f143e..1ea1976e7a 100644 --- a/spec/build/testsuites/validation/libvalidation.yml +++ b/spec/build/testsuites/validation/libvalidation.yml @@ -12,6 +12,7 @@ install-path: null links: [] source: - testsuites/validation/tx-call-within-isr.c +- testsuites/validation/tx-default-task-config.c - testsuites/validation/tx-interrupt.c - testsuites/validation/tx-io-relax.c - testsuites/validation/tx-memory-alloc.c diff --git a/testsuites/validation/tc-barrier-ident.c b/testsuites/validation/tc-barrier-ident.c index 71e7051f66..dcb4a1c273 100644 --- a/testsuites/validation/tc-barrier-ident.c +++ b/testsuites/validation/tc-barrier-ident.c @@ -71,6 +71,8 @@ * @{ */ +#define NAME_LOCAL_OBJECT rtems_build_name( 'B', 'A', 'R', 'R' ) + static rtems_status_code ClassicBarrierIdentAction( rtems_name name, rtems_id *id @@ -89,7 +91,7 @@ static void RtemsBarrierValIdent_Action_0( void ) rtems_id id_local_object; sc = rtems_barrier_create( -ClassicObjectLocalIdentName, +NAME_LOCAL_OBJECT, RTEMS_DEFAULT_ATTRIBUTES, 1, &id_local_object @@ -98,6 +100,7 @@ static void RtemsBarrierValIdent_Action_0( void ) RtemsReqIdentLocal_Run( id_local_object, +NAME_LOCAL_OBJECT, ClassicBarrierIdentAction ); diff --git a/testsuites/validation/tc-message-ident.c b/testsuites/validation/tc-message-ident.c index 74759b525e..70e7d53350 100644 --- a/testsuites/validation/tc-message-ident.c +++ b/testsuites/validation/tc-message-ident.c @@ -71,10 +71,12 @@ * @{ */ +#define NAME_LOCAL_OBJECT rtems_build_name( 'M', 'E', 'S', 'Q' ) + static RTEMS_MESSAGE_QUEUE_BUFFER( 1 ) ClassicMessageIdentBuffers[ 1 ]; static rtems_message_queue_config ClassicObjectIdentConfig = { - .name = ClassicObjectIdentName, + .name = NAME_LOCAL_OBJECT, .maximum_pending_messages = RTEMS_ARRAY_SIZE( ClassicMessageIdentBuffers ), .maximum_message_size = 1, .storage_area = ClassicMessageIdentBuffers, @@ -108,6 +110,7 @@ static void RtemsMessageValIdent_Action_0( void ) RtemsReqIdent_Run( id_local_object, +NAME_LOCAL_OBJECT, ClassicMessageIdentAction ); diff --git a/testsuites/validation/tc-part-ident.c b/testsuites/validation/tc-part-ident.c index 926c205970..fccdf9671c 100644 --- a/testsuites/validation/tc-part-ident.c +++ b/testsuites/validation/tc-part-ident.c @@ -71,6 +71,8 @@ * @{ */ +#define NAME_LOCAL_OBJECT rtems_build_name( 'P', 'A', 'R', 'T' ) + static rtems_status_code ClassicPartIdentAction( rtems_name name, uint32_t node, @@ -91,7 +93,7 @@ static void RtemsPartValIdent_Action_0( void ) rtems_id id_local_object; sc = rtems_partition_create( -ClassicObjectIdentName, +NAME_LOCAL_OBJECT, area, sizeof( area ), sizeof( area ), @@ -102,6 +104,7 @@ static void RtemsPartValIdent_Action_0( void ) RtemsReqIdent_Run( id_local_object, +NAME_LOCAL_OBJECT, ClassicPartIdentAction ); diff --git a/testsuites/validation/tc-ratemon-ident.c b/testsuites/validation/tc-ratemon-ident.c index 1126fcacab..beeb0bfd14 100644 --- a/testsuites/validation/tc-ratemon-ident.c +++ b/testsuites/validation/tc-ratemon-ident.c @@ -71,6 +71,8 @@ * @{ */ +#define NAME_LOCAL_OBJECT rtems_build_name( 'R', 'A', 'T', 'E' ) + static rtems_status_code ClassicRatemonIdentAction( rtems_name name, rtems_id *id @@ -89,13 +91,14 @@ static void RtemsRatemonValIdent_Action_0( void ) rtems_id id_local_object; sc = rtems_rate_monotonic_create( -ClassicObjectLocalIdentName, +NAME_LOCAL_OBJECT, &id_local_object ); T_assert_rsc_success( sc ); RtemsReqIdentLocal_Run( id_local_object, +NAME_LOCAL_OBJECT, ClassicRatemonIdentAction ); diff --git a/testsuites/validation/tc-sem-i
[PATCH 2/2] rtems: Clarify scheduler of created task
--- cpukit/include/rtems/rtems/tasks.h| 6 +- .../validation/validation-smp-only-0.yml | 1 + testsuites/validation/tc-task-smp.c | 146 ++ testsuites/validation/tc-task.c | 54 ++- testsuites/validation/tx-support.c| 5 + testsuites/validation/tx-support.h| 2 + 6 files changed, 209 insertions(+), 5 deletions(-) create mode 100644 testsuites/validation/tc-task-smp.c diff --git a/cpukit/include/rtems/rtems/tasks.h b/cpukit/include/rtems/rtems/tasks.h index e4609f6e9f..81757db8c7 100644 --- a/cpukit/include/rtems/rtems/tasks.h +++ b/cpukit/include/rtems/rtems/tasks.h @@ -445,9 +445,9 @@ rtems_task_priority _RTEMS_Maximum_priority( void ); * task with other task related directives. * * The **initial priority** of the task is specified in ``initial_priority``. - * The scheduler of the created task is the scheduler of the calling task at - * some point during the task creation. The initial task priority specified in - * ``initial_priority`` shall be valid for this scheduler. + * The home scheduler of the created task is the home scheduler of the calling + * task at some time point during the task creation. The initial task priority + * specified in ``initial_priority`` shall be valid for this scheduler. * * The **stack size** of the task is specified in ``stack_size``. If the * requested stack size is less than the configured minimum stack size, then diff --git a/spec/build/testsuites/validation/validation-smp-only-0.yml b/spec/build/testsuites/validation/validation-smp-only-0.yml index bf2063fb44..fc4091b92e 100644 --- a/spec/build/testsuites/validation/validation-smp-only-0.yml +++ b/spec/build/testsuites/validation/validation-smp-only-0.yml @@ -25,6 +25,7 @@ source: - testsuites/validation/tc-score-tq-smp.c - testsuites/validation/tc-sem-smp.c - testsuites/validation/tc-sem-mrsp-obtain.c +- testsuites/validation/tc-task-smp.c - testsuites/validation/ts-validation-smp-only-0.c stlib: [] target: testsuites/validation/ts-validation-smp-only-0.exe diff --git a/testsuites/validation/tc-task-smp.c b/testsuites/validation/tc-task-smp.c new file mode 100644 index 00..51165153f5 --- /dev/null +++ b/testsuites/validation/tc-task-smp.c @@ -0,0 +1,146 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTestCaseRtemsTaskValSmp + */ + +/* + * Copyright (C) 2022 embedded brains GmbH (http://www.embedded-brains.de) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html + * + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include "ts-config.h" +#include "tx-support.h" + +#include + +/** + * @defgroup RTEMSTestCaseRtemsTaskValSmp spec:/rtems/task/val/smp + * + * @ingroup RTEMSTestSuiteTestsuitesValidationSmpOnly0 + * + * @brief This test case collection provides SMP-specific validation test cases + * for requirements of the @ref RTEMSAPIClassicTasks. + * + * This test case performs the following actions: + * + * - Validate the home scheduler of tasks created by rtems_task_cre
Re: [PATCH v2 1/1] newlib01: Check exit procs for global FILE obj
Hi Dr. Joel, I just sent an update which addresses these issues. Thanks! Sincerely, Matt On 28.03.22 23:13, Joel Sherrill wrote: I don't see anything obviously wrong but I don't have any idea what the test is actually trying to exercise. How about some comments and is there a doc file in this test directory that needs updating? --joel On Mon, Mar 28, 2022 at 4:04 AM Matthew Joyce wrote: From: Matt Joyce --- testsuites/libtests/newlib01/init.c | 110 ++-- 1 file changed, 88 insertions(+), 22 deletions(-) diff --git a/testsuites/libtests/newlib01/init.c b/testsuites/libtests/newlib01/init.c index c58154023b..bba187e8e2 100644 --- a/testsuites/libtests/newlib01/init.c +++ b/testsuites/libtests/newlib01/init.c @@ -28,6 +28,8 @@ const char rtems_test_name[] = "NEWLIB 1"; static const char file_path[] = "/file"; +static const char file_path2[] = "/file2"; + typedef enum { INIT, OPEN, @@ -39,6 +41,8 @@ typedef struct { rtems_id main_task_id; rtems_id worker_task_id; test_state current; + FILE *glob_file_stream; + int glob_fd; } test_context; static test_context test_instance; @@ -59,7 +63,7 @@ static void wait(void) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } -static void worker_task(rtems_task_argument arg) +static void thread_specific_worker(rtems_task_argument arg) { test_context *ctx = &test_instance; struct _reent *reent = _REENT; @@ -90,6 +94,30 @@ static void worker_task(rtems_task_argument arg) rtems_test_assert(0); } +static void global_file_object_worker(rtems_task_argument arg) +{ + test_context *ctx = &test_instance; + FILE *fp; + char buf[1] = { 'y' }; + size_t n; + int fd; + + fp = ctx->glob_file_stream = fopen(&file_path2[0], "w"); + rtems_test_assert(fp != NULL); + + /* Get file descriptor of new global file stream, store it in text context */ + fd = fileno(fp); + rtems_test_assert(fd != -1); + ctx->glob_fd = fd; + + n = fwrite(&buf[0], sizeof(buf), 1, fp); + rtems_test_assert(n == 1); + + wake_up_main(ctx); + + rtems_test_assert(0); +} + static int handler_open( rtems_libio_t *iop, const char *path, @@ -250,9 +278,34 @@ static const IMFS_node_control node_control = IMFS_GENERIC_INITIALIZER( IMFS_node_destroy_default ); -static void test_thread_specific_close(test_context *ctx) +static void task_create_and_delete_helper( + test_context *ctx, + rtems_task_entry entry +) { rtems_status_code sc; + + sc = rtems_task_create( + rtems_build_name('W', 'O', 'R', 'K'), + 2, + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &ctx->worker_task_id + ); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + sc = rtems_task_start(ctx->worker_task_id, entry, 0); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + wait(); + + sc = rtems_task_delete(ctx->worker_task_id); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); +} + +static void test_thread_specific_close(test_context *ctx) +{ int rv; rtems_resource_snapshot snapshot; @@ -266,23 +319,7 @@ static void test_thread_specific_close(test_context *ctx) ); rtems_test_assert(rv == 0); - sc = rtems_task_create( - rtems_build_name('W', 'O', 'R', 'K'), - 2, - RTEMS_MINIMUM_STACK_SIZE, - RTEMS_DEFAULT_MODES, - RTEMS_DEFAULT_ATTRIBUTES, - &ctx->worker_task_id - ); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - sc = rtems_task_start(ctx->worker_task_id, worker_task, 0); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - wait(); - - sc = rtems_task_delete(ctx->worker_task_id); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); + task_create_and_delete_helper(ctx, thread_specific_worker); rv = unlink(&file_path[0]); rtems_test_assert(rv == 0); @@ -290,6 +327,11 @@ static void test_thread_specific_close(test_context *ctx) rtems_test_assert(rtems_resource_snapshot_check(&snapshot)); } +static void test_global_file_object_close(test_context *ctx) +{ + task_create_and_delete_helper(ctx, global_file_object_worker); +} + /* * This exit handler will be called last among the functions registered with * atexit(). Check that stdio file descriptors are closed. The Newlib cleanup @@ -298,6 +340,7 @@ static void test_thread_specific_close(test_context *ctx) */ static void check_after_libio_exit(void) { + test_context *ctx = &test_instance; struct stat unused; int rv; @@ -319,6 +362,11 @@ static void chec
[PATCH v3 1/1] newlib01: Added tests for exit procedures
From: Matt Joyce Added tests for exit procedures to ensure proper resource cleanup. The test now checks cleanup for files assigned to stdio streams and non-stdio streams. --- testsuites/libtests/newlib01/init.c | 120 +- testsuites/libtests/newlib01/newlib01.doc | 5 +- 2 files changed, 101 insertions(+), 24 deletions(-) diff --git a/testsuites/libtests/newlib01/init.c b/testsuites/libtests/newlib01/init.c index c58154023b..40d2f683b0 100644 --- a/testsuites/libtests/newlib01/init.c +++ b/testsuites/libtests/newlib01/init.c @@ -28,6 +28,8 @@ const char rtems_test_name[] = "NEWLIB 1"; static const char file_path[] = "/file"; +static const char file_path2[] = "/file2"; + typedef enum { INIT, OPEN, @@ -39,6 +41,8 @@ typedef struct { rtems_id main_task_id; rtems_id worker_task_id; test_state current; + FILE *glob_file_stream; + int glob_fd; } test_context; static test_context test_instance; @@ -59,7 +63,7 @@ static void wait(void) rtems_test_assert(sc == RTEMS_SUCCESSFUL); } -static void worker_task(rtems_task_argument arg) +static void stdio_file_worker(rtems_task_argument arg) { test_context *ctx = &test_instance; struct _reent *reent = _REENT; @@ -90,6 +94,30 @@ static void worker_task(rtems_task_argument arg) rtems_test_assert(0); } +static void non_stdio_file_worker(rtems_task_argument arg) +{ + test_context *ctx = &test_instance; + FILE *fp; + char buf[1] = { 'y' }; + size_t n; + int fd; + + fp = ctx->glob_file_stream = fopen(&file_path2[0], "w"); + rtems_test_assert(fp != NULL); + + /* Get file descriptor of new global file stream, store it in text context */ + fd = fileno(fp); + rtems_test_assert(fd != -1); + ctx->glob_fd = fd; + + n = fwrite(&buf[0], sizeof(buf), 1, fp); + rtems_test_assert(n == 1); + + wake_up_main(ctx); + + rtems_test_assert(0); +} + static int handler_open( rtems_libio_t *iop, const char *path, @@ -250,9 +278,38 @@ static const IMFS_node_control node_control = IMFS_GENERIC_INITIALIZER( IMFS_node_destroy_default ); -static void test_thread_specific_close(test_context *ctx) +static void task_create_and_delete_helper( + test_context *ctx, + rtems_task_entry entry +) { rtems_status_code sc; + + sc = rtems_task_create( + rtems_build_name('W', 'O', 'R', 'K'), + 2, + RTEMS_MINIMUM_STACK_SIZE, + RTEMS_DEFAULT_MODES, + RTEMS_DEFAULT_ATTRIBUTES, + &ctx->worker_task_id + ); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + sc = rtems_task_start(ctx->worker_task_id, entry, 0); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + wait(); + + sc = rtems_task_delete(ctx->worker_task_id); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); +} + +/* + * Check that a FILE opened by a task and assigned to a stdio stream is closed + * during thread termination. Ensure that resources are returned to the system. + */ +static void test_stdio_file(test_context *ctx) +{ int rv; rtems_resource_snapshot snapshot; @@ -266,23 +323,7 @@ static void test_thread_specific_close(test_context *ctx) ); rtems_test_assert(rv == 0); - sc = rtems_task_create( -rtems_build_name('W', 'O', 'R', 'K'), -2, -RTEMS_MINIMUM_STACK_SIZE, -RTEMS_DEFAULT_MODES, -RTEMS_DEFAULT_ATTRIBUTES, -&ctx->worker_task_id - ); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - sc = rtems_task_start(ctx->worker_task_id, worker_task, 0); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); - - wait(); - - sc = rtems_task_delete(ctx->worker_task_id); - rtems_test_assert(sc == RTEMS_SUCCESSFUL); + task_create_and_delete_helper(ctx, stdio_file_worker); rv = unlink(&file_path[0]); rtems_test_assert(rv == 0); @@ -290,6 +331,15 @@ static void test_thread_specific_close(test_context *ctx) rtems_test_assert(rtems_resource_snapshot_check(&snapshot)); } +/* + * Open a global FILE object from a task but do not assign it to a stdio + * stream. The FILE is not closed upon thread termination. + */ +static void test_non_stdio_file(test_context *ctx) +{ + task_create_and_delete_helper(ctx, non_stdio_file_worker); +} + /* * This exit handler will be called last among the functions registered with * atexit(). Check that stdio file descriptors are closed. The Newlib cleanup @@ -298,6 +348,7 @@ static void test_thread_specific_close(test_context *ctx) */ static void check_after_libio_exit(void) { + test_context *ctx = &test_instance; struct stat unused; int rv; @@ -319,6 +370,11 @@ static void check_after_libio_exit(void) rtems_test_assert(stdin->_flags != 0); rtems_test_assert(stdout->_flags != 0); rtems_test_assert(stderr->_flags != 0); + + /* Global file tests. Global fd still open at this point. */ + rv = fstat(ctx->glob_fd, &unused); + rtems_test_assert(rv == 0); + rtems_test_assert(ctx->glob_file_stream->_flags != 0); } static void register_exit_handler_before_libio_exit(void) @@ -342,7 +398,7 @@ RTEMS_SYSINIT_ITEM(register_exit_handler_before_libio_exit, *
[PATCH v3 0/1] newlib01: Added tests for exit procedures
From: Matt Joyce Version 3 adds comments for clarification and updates the doc file. Matt Joyce (1): newlib01: Added tests for exit procedures testsuites/libtests/newlib01/init.c | 120 +- testsuites/libtests/newlib01/newlib01.doc | 5 +- 2 files changed, 101 insertions(+), 24 deletions(-) -- 2.31.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH] c-user: Clarify scheduler of created task
--- c-user/task/directives.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/c-user/task/directives.rst b/c-user/task/directives.rst index ce2013c..708286f 100644 --- a/c-user/task/directives.rst +++ b/c-user/task/directives.rst @@ -86,9 +86,9 @@ identifier is returned in ``id``. This identifier is used to access the task with other task related directives. The **initial priority** of the task is specified in ``initial_priority``. The -scheduler of the created task is the scheduler of the calling task at some -point during the task creation. The initial task priority specified in -``initial_priority`` shall be valid for this scheduler. +scheduler of the created task is the :term:`home scheduler` of the calling task +at some time point during the task creation. The initial task priority +specified in ``initial_priority`` shall be valid for this scheduler. The **stack size** of the task is specified in ``stack_size``. If the requested stack size is less than the configured minimum stack size, then RTEMS -- 2.34.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: RFC: Copyright vs COPYRIGHT
On 26/03/2022 23:48, Joel Sherrill wrote: The Software Engineering Guide example uses "Copyright" but a lot of places in the code base use "COPYRIGHT". This is sometimes followed by (c) rather than the (C) indicated in the guide. The format in the Software Engineering Manual follows the GNU coding style: https://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices For the years we have a simplified , convention. -- embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.hu...@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht München Registernummer: HRB 157899 Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel