Yet another place where the RX thread IDs get mangled, this time the standard server threads:

The RX thread ID is set upon server thread creation by incrementing rxi_availProcs in rx_pthread.c. It is used for call scheduling purposes (one thread processes incoming calls fcfs) *and* as index into the host hold table (fileserver).

rxi_availProcs turns out to be an unfortunate choice, as it is already decremented if calls arrive while the server threads are still initialising, causing threads to inadvertently share IDs.

Correction: use the recently introduced rxi_pthread_hinum to assign IDs, and remember the number of the first thread created for call-queue-hopping decisions in rx.c instead of relying on one thread having ID 0.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke http://cern.ch/~rtb [EMAIL PROTECTED] O__
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland > |
Phone: +41 22 767 8985 Fax: +41 22 767 7155 ( )\( )

Attachment: p_rx_threadid
Description: application/java-vm

Reply via email to