(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
pr35492.c
       1  void prepare_to_wait (void *, void *, int);
       2  void finish_wait (void *, void *);
       3  extern signed long schedule_timeout (signed long);
       4  struct sock
       5  {
       6    unsigned char skc_state;
       7    void *sk_sleep;
       8    int sk_err;
       9  };
      10  
      11  void
      12  sk_stream_wait_connect (struct sock *sk, long *timeo_p)
      13  {
      14    int done;
      15    int wait;
      16    do
      17      {
      18        if ((1 << sk->skc_state) & ~12)
      19          return;
      20        prepare_to_wait (sk->sk_sleep, &wait, 1);
      21        *(timeo_p) = schedule_timeout (0);
      22        done = !sk->sk_err;
      23        finish_wait (sk->sk_sleep, &wait);
      24      }
      25    while (!done);
      26  }