bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] hurd: Fix some broken indentation


From: Samuel Thibault
Subject: Re: [PATCH 2/2] hurd: Fix some broken indentation
Date: Thu, 2 Mar 2023 00:33:14 +0100
User-agent: NeoMutt/20170609 (1.8.3)

Applied, thanks!

Sergey Bugaev, le mer. 01 mars 2023 19:23:55 +0300, a ecrit:
> Also, fix a couple of typos. No functional change.
> 
> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
> ---
>  hurd/hurdsig.c | 101 +++++++++++++++++++++++++------------------------
>  1 file changed, 51 insertions(+), 50 deletions(-)
> 
> diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
> index 5ff0a91f..85bd46b5 100644
> --- a/hurd/hurdsig.c
> +++ b/hurd/hurdsig.c
> @@ -202,7 +202,7 @@ _hurd_sigstate_unlock (struct hurd_sigstate *ss)
>  }
>  libc_hidden_def (_hurd_sigstate_set_global_rcv)
>  
> -/* Retreive a thread's full set of pending signals, including the global
> +/* Retrieve a thread's full set of pending signals, including the global
>     ones if appropriate.  SS must be locked.  */
>  sigset_t
>  _hurd_sigstate_pending (const struct hurd_sigstate *ss)
> @@ -233,7 +233,7 @@ sigstate_clear_pending (struct hurd_sigstate *ss, int 
> signo)
>  libc_hidden_def (_hurd_sigstate_lock)
>  libc_hidden_def (_hurd_sigstate_unlock)
>  
> -/* Retreive a thread's action vector.  SS must be locked.  */
> +/* Retrieve a thread's action vector.  SS must be locked.  */
>  struct sigaction *
>  _hurd_sigstate_actions (struct hurd_sigstate *ss)
>  {
> @@ -451,54 +451,55 @@ _hurdsig_abort_rpcs (struct hurd_sigstate *ss, int 
> signo, int sigthread,
>        *state_change = 1;
>      }
>    else if (state->basic.PC == (uintptr_t) &_hurd_intr_rpc_msg_in_trap
> -        /* The thread was blocked in the system call.  After thread_abort,
> -           the return value register indicates what state the RPC was in
> -           when interrupted.  */
> -        && state->basic.SYSRETURN == MACH_RCV_INTERRUPTED)
> -      {
> -     /* The RPC request message was sent and the thread was waiting for
> -        the reply message; now the message receive has been aborted, so
> -        the mach_msg call will return MACH_RCV_INTERRUPTED.  We must tell
> -        the server to interrupt the pending operation.  The thread must
> -        wait for the reply message before running the signal handler (to
> -        guarantee that the operation has finished being interrupted), so
> -        our nonzero return tells the trampoline code to finish the message
> -        receive operation before running the handler.  */
> -
> -     mach_port_t *reply = interrupted_reply_port_location (ss->thread,
> -                                                           state,
> -                                                           sigthread);
> -     error_t err = __interrupt_operation (intr_port, 
> _hurdsig_interrupt_timeout);
> -
> -     if (err)
> -       {
> -         if (reply)
> -           {
> -             /* The interrupt didn't work.
> -                Destroy the receive right the thread is blocked on.  */
> -             __mach_port_destroy (__mach_task_self (), *reply);
> -             *reply = MACH_PORT_NULL;
> -           }
> -
> -         /* The system call return value register now contains
> -            MACH_RCV_INTERRUPTED; when mach_msg resumes, it will retry the
> -            call.  Since we have just destroyed the receive right, the
> -            retry will fail with MACH_RCV_INVALID_NAME.  Instead, just
> -            change the return value here to EINTR so mach_msg will not
> -            retry and the EINTR error code will propagate up.  */
> -         state->basic.SYSRETURN = EINTR;
> -         *state_change = 1;
> -       }
> -     else if (reply)
> -       rcv_port = *reply;
> -
> -     /* All threads whose RPCs were interrupted by the interrupt_operation
> -        call above will retry their RPCs unless we clear SS->intr_port.
> -        So we clear it for the thread taking a signal when SA_RESTART is
> -        clear, so that its call returns EINTR.  */
> -     if (! signo || !(_hurd_sigstate_actions (ss) [signo].sa_flags & 
> SA_RESTART))
> -       ss->intr_port = MACH_PORT_NULL;
> -      }
> +           /* The thread was blocked in the system call.  After thread_abort,
> +              the return value register indicates what state the RPC was in
> +              when interrupted.  */
> +           && state->basic.SYSRETURN == MACH_RCV_INTERRUPTED)
> +    {
> +      /* The RPC request message was sent and the thread was waiting for the
> +         reply message; now the message receive has been aborted, so the
> +         mach_msg call will return MACH_RCV_INTERRUPTED.  We must tell the
> +         server to interrupt the pending operation.  The thread must wait for
> +         the reply message before running the signal handler (to guarantee 
> that
> +         the operation has finished being interrupted), so our nonzero return
> +         tells the trampoline code to finish the message receive operation
> +         before running the handler.  */
> +
> +      mach_port_t *reply = interrupted_reply_port_location (ss->thread,
> +                                                            state,
> +                                                            sigthread);
> +      error_t err = __interrupt_operation (intr_port,
> +                                           _hurdsig_interrupt_timeout);
> +
> +      if (err)
> +        {
> +          if (reply)
> +            {
> +              /* The interrupt didn't work.
> +                 Destroy the receive right the thread is blocked on.  */
> +              __mach_port_destroy (__mach_task_self (), *reply);
> +              *reply = MACH_PORT_NULL;
> +            }
> +
> +          /* The system call return value register now contains
> +             MACH_RCV_INTERRUPTED; when mach_msg resumes, it will retry the
> +             call.  Since we have just destroyed the receive right, the retry
> +             will fail with MACH_RCV_INVALID_NAME.  Instead, just change the
> +             return value here to EINTR so mach_msg will not retry and the
> +             EINTR error code will propagate up.  */
> +          state->basic.SYSRETURN = EINTR;
> +          *state_change = 1;
> +     }
> +      else if (reply)
> +        rcv_port = *reply;
> +
> +      /* All threads whose RPCs were interrupted by the interrupt_operation
> +         call above will retry their RPCs unless we clear SS->intr_port.  So 
> we
> +         clear it for the thread taking a signal when SA_RESTART is clear, so
> +         that its call returns EINTR.  */
> +      if (! signo || !(_hurd_sigstate_actions (ss) [signo].sa_flags & 
> SA_RESTART))
> +        ss->intr_port = MACH_PORT_NULL;
> +    }
>  
>    return rcv_port;
>  }
> -- 
> 2.39.2
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]