This is an attempt to make clsql threadsafe by

  1. making threads own (via checkin, checkout during connect/disconnect) a database.  Use of a database by a non-owner thread is an error.
  2. putting a DATABASE-DESC object into the VIEW-DATABASE slot of a db object, and using this to find a thread-appropriate database, rather than risking a collision between use of a VIEW-DATABASE by one thread and the same database in another thread
  3. fix some mysql issues, including library initialization, per thread inits, and sigpipe restoration
  4. put locking around caches and recording, and put caches and recorders into the DATABASE-DESC
Much more detail given in the text file below. 

J Klein,
May 9, 2012, 12:36 AM
J Klein,
May 9, 2012, 12:35 AM