Oninit Logo
The Down System Specialists
Partnerships Contact

Condition and Mutex Reference

Here are the most commonly used conditions within Informix, and their use. The list is not exhaustive.

Condition Name Description Potential Wait Threads Broadcast/Signaler Thread
adt_cond Related to MLS Auditing    
arrived A thread waiting for mail from the listen or sqlexec threads poll listen
awaitMC%d A producer thread is waiting to hand off data to a producer thread exchange (producer), scan exchange (consumer)
backend:%d Used for communication between exchange thread and sort thread psortproc exchange
bar_cond Barrier condition. A barrier is used to synchronize consumer and producer threads which straddle exchanges exchange (consumer) exchange (consumer)
block The system is blocked for one of five reasons: an archive, a long transaction cannot roll back, a chunk is down, a database is being dropped, and LBU_PRESERVE is set and a thread is switching logs any thread arcbackup, main_loop, Any thread that has marked a chunk down, onmonitor, onspace, any thread switching logs with LBU_PRESERV configured.
bufcond Used by parallel sort threads when they are ready to output sort data to buffers    
closed_down Used by producers to indicate they have closed.    
closing A network thread is waiting for a connection to close    
cp checkpoint in progress any thread trying to enter a critical section main_loop
drbt_rcvq Used on the secondary when waiting for something to arrive at the Data Replication B-tree Receive Queue    
drbt_sndq Used on the primary when waiting to use the Data Replication B-tree Send Queue    
drcb_bqe Condition when the Data replication buffer queue is empty    
free_cond Used when a producer thread is waiting for a free packet buffer    
gfile Used when waiting to write to a global file descriptor    
incore Parallel sort threads wait on this condition until they know the sort will be in-core    
loa_done The secondary onload thread (on the ADM VP has completed some work) onload loa_tape_worker
loa_request The secondary onload thread is waiting for work. loa_tape_worker onload
log Logical logging has been blocked Any thread attempting to access logical logs onlog and DR threads. Also, a thread that attempted to change logs when logs were full will broadcast this condition when logs have been backed up.
logbf%d A particular log buffer is busy Any thread trying to write to the buffer The thread using the buffer
nextexp The expedited network queue is empty    
netfree The free network queue is empty    
netnorm The normal network queue is empty (this is the network/ streams equivalent of the sm_read condition sqlexec poll threads
notify_MC%d Used to notify a master consumer (exchange thread) that all its producers have shut down. exchange Producer (exchange)
ok_to_close Each producer thread waits for its Master Consumer to allow closing. exchange (producer) exchange threads
ok_to_open Each producer thread waits for its master consumer to allow opening. exchange (producer) exchange
opened_up After spawning all producer threads, a master consumer must wait for them to set up before it can open. sqlexec, exchange exchange (producer)
opresv Request to open an optical subsystem drive sqlexec opt vp #
packet_cond When an iterator needs more data packets before proceeding, the thread running the iterator waits on this condition interator iterator
plogothr The non-current physical log buffer is in use Any thread waiting to modify the current plog buffer Thread which is finished with the buffer
pt %x Condition is true during initialization of a shared memory partition structure Any thread trying to use a shared memory partition structure, while it is being initialized by another thread Any thread which has finished initializing a shared memory partition structure.
sm_read An sqlexec thread using shared memory communication waits on this condition for client messages sqlexec sm_poll
sortproc:%d The combination of this condition and backend:%d shown above allow for two-way communication between exchange and psort threads exchange psortproc
unl_done The secondary onunload thread has completed some work. onunload unl_tape_worker
unl_request the secondary onunload thread is waiting for work. unl_tape_worker onunload

To discuss how Oninit ® can assist please call on +1-913-674-0360 or alternatively just send an email specifying your requirements.