Since it is only a minor optimization, we could also add a configure
check for sched_yield, and make the section conditional..
/Henrik
Andres Kroonmaa wrote:
> 
>  Solaris does not have sched_yield() in standard libs.
>  it is present in realtime lib (-lrt), but librt also defines
>  aio_read, aio_write, etc. I'm not sure if such naming clashes
>  can cause any problems.
>  In any case, 2.4 does not compile by default. We either have to
>  add another lib or use some other func. Seems that solaris
>  has thr_yield() defined also in pthread lib. Maybe we can
>  safely use yield() and rely on threads library to hook it.
>  I'm not sure which way to go.
> 
> Index: src/fs/aufs/aiops.c
> ===================================================================
> RCS file: /cvsroot/squid/squid/src/fs/aufs/aiops.c,v
> retrieving revision 1.3
> diff -u -r1.3 aiops.c
> --- src/fs/aufs/aiops.c 2000/11/11 09:40:02     1.3
> +++ src/fs/aufs/aiops.c 2000/11/17 17:21:59
> @@ -800,7 +800,11 @@
>      }
>      /* Give up the CPU to allow the threads to do their work */
>      if (done_queue.head || request_queue.head)
> +#ifndef _SQUID_SOLARIS_
>         sched_yield();
> +#else
> +        yield();
> +#endif
>  }
> 
>  aio_result_t *
> 
> ------------------------------------
>  Andres Kroonmaa <andre@online.ee>
>  Delfi Online
>  Tel: 6501 731, Fax: 6501 708
>  Pärnu mnt. 158, Tallinn,
>  11317 Estonia
Received on Wed Dec 13 2000 - 20:22:03 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:13:04 MST