   ASTs and DECthreads Upcalls?    The Question is:    M My question is about disabling ASTs (with SYS$SETAST) in a multithreaded (DEC K  Threads ie. posix) application linked with both upcalls and kernel threads 	  enabled.    J I am confused about how the threads scheduler issues upcalls.  Are upcalls=  issued as ASTs?  If so, does disabling ASTs mean no upcalls?    K I have a specific API that is intended to be used in both multithreaded and J  single threaded environments.  The API has routines to read and to updateL  blocks of shared data.  The read routines simply call tis_read_lock to lock  the data for read access whilI e the update routines first disable ASTs by calling SYS$SETAST, then call J  tis_write_lock.  I am concerned that if disabling ASTs also blocks threadN  scheduler upcalls, will other threads not get scheduled in a timely fashon if  a thread that has disabled AS Ts is waiting to aquire a lock?     Thanks,     Rob      The Answer is :   H   For information on mixing ASTs and threads and for various discussionsE   of same, please see topics including (2790), (3072) and (6099), and    the pointers in these topics.    D   Related topics include (1661), (2681), (4647), (6984), (7383), and   (8938), among other topics.    H   Also please see the lock manager, as this can provide synchronization.   F   In this application, the OpenVMS Wizard would seriously consider theC   use of RMS with global buffers enabled, as this approach provides D   all needed synchronization for threading and AST-based operations,E   fully manages the per-system data cache, and the synchronization is E   fully distributed across a cluster.  (You might start out with what E   appears to be a more light-weight implementation, but may find that D   you will eventually find yourself re-implementing what RMS and theC   file system -- and global buffers -- already provide for you, and C   particularly should you need to implement additional requirements #   and distributed synchronization.)    /  Answer written or last revised on  5-APR-2004  