> /* Wait for all readers to complete. */
>
> while( p_port->endpt_rdr )
>
> - ;
>
> + {
>
> + cl_obj_unlock( &p_port->obj );
>
> + cl_obj_lock( &p_port->obj );
>
> + }
How often are there multiple readers? How long does a reader hold the lock for? And do we need to use a spinlock?
Also, doesn't complib provide a reader-writer lock abstraction?