Re: [PATCH] Restore _lock initialization in single threaded mode

Torbjorn SVENSSON <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Hello Jeff,

The description should have included a "not". Sorry about that.

Kind regards,
Torbjörn

On 2022-08-29 21:33, Jeff Johnston wrote:
> Hi Torbjorn,
> 
> Could you clarify?  Your description and title says when SINGLE_THREAD, 
> but your patch is #ifndef __SINGLE_THREAD__.
> 
> -- Jeff J.
> 
> On Mon, Aug 29, 2022 at 11:11 AM Torbjörn SVENSSON 
> <[email protected] <mailto:[email protected]>> 
> wrote:
> 
>     When __SINGLE_THREAD__ is defined, stdin, stdout and stderr needs to
>     have their _lock instance initialized. The __sfp() method is not
>     invoked for the 3 mentioned fds thus, the std() method needs to handle
>     the initialization of the lock.
> 
>     This is more or less a revert of
>     382550072b49430f8c69adee937a0ba07bd385e6
> 
>     Signed-off-by: Torbjörn SVENSSON <[email protected]
>     <mailto:[email protected]>>
>     ---
>       newlib/libc/stdio/findfp.c | 4 ++++
>       1 file changed, 4 insertions(+)
> 
>     diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c
>     index c43028209..f7249f6d7 100644
>     --- a/newlib/libc/stdio/findfp.c
>     +++ b/newlib/libc/stdio/findfp.c
>     @@ -88,6 +88,10 @@ std (FILE *ptr,
>       #else /* _STDIO_CLOSE_STD_STREAMS */
>         ptr->_close = NULL;
>       #endif /* _STDIO_CLOSE_STD_STREAMS */
>     +#ifndef __SINGLE_THREAD__
>     +  if (ptr == &__sf[0] || ptr == &__sf[1] || ptr == &__sf[2])
>     +    __lock_init_recursive (&ptr->_lock);
>     +#endif
>       #ifdef __SCLE
>         if (__stextmode (ptr->_file))
>           ptr->_flags |= __SCLE;
>     -- 
>     2.25.1
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.