DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(mysql.info.gz) MIT-pthreads

Info Catalog (mysql.info.gz) Compilation problems (mysql.info.gz) Installing source (mysql.info.gz) Windows source build
 
 2.8.5 MIT-pthreads Notes
 ------------------------
 
 This section describes some of the issues involved in using
 MIT-pthreads.
 
 On Linux, you should _not_ use MIT-pthreads. Use the installed
 LinuxThreads implementation instead.   Linux.
 
 If your system does not provide native thread support, you will need to
 build MySQL using the MIT-pthreads package.  This includes older
 FreeBSD systems, SunOS 4.x, Solaris 2.4 and earlier, and some others.
  Which OS.
 
 Beginning with MySQL 4.0.2, MIT-pthreads is no longer part of the
 source distribution. If you require this package, you need to download
 it separately from
 `http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz'
 
 After downloading, extract this source archive into the top level of the
 MySQL source directory. It will create a new subdirectory named
 `mit-pthreads'.
 
    * On most systems, you can force MIT-pthreads to be used by running
      `configure' with the `--with-mit-threads' option:
 
           shell> ./configure --with-mit-threads
 
      Building in a non-source directory is not supported when using
      MIT-pthreads because we want to minimize our changes to this code.
 
    * The checks that determine whether to use MIT-pthreads occur only
      during the part of the configuration process that deals with the
      server code.  If you have configured the distribution using
      `--without-server' to build only the client code, clients will not
      know whether MIT-pthreads is being used and will use Unix socket
      connections by default.  Because Unix socket files do not work
      under MIT-pthreads on some platforms, this means you will need to
      use `-h' or `--host' when you run client programs.
 
    * When MySQL is compiled using MIT-pthreads, system locking is
      disabled by default for performance reasons.  You can tell the
      server to use system locking with the `--external-locking' option.
      This is needed only if you want to be able to run two MySQL
      servers against the same data files, which is not recommended.
 
    * Sometimes the pthread `bind()' command fails to bind to a socket
      without any error message (at least on Solaris).  The result is
      that all connections to the server fail.  For example:
 
           shell> mysqladmin version
           mysqladmin: connect to server at '' failed;
           error: 'Can't connect to mysql server on localhost (146)'
 
      The solution to this is to kill the `mysqld' server and restart it.
      This has only happened to us when we have forced down the server
      and done a restart immediately.
 
    * With MIT-pthreads, the `sleep()' system call isn't interruptible
      with `SIGINT' (break).  This is only noticeable when you run
      `mysqladmin --sleep'.  You must wait for the `sleep()' call to
      terminate before the interrupt is served and the process stops.
 
    * When linking, you may receive warning messages like these (at
      least on Solaris); they can be ignored:
 
           ld: warning: symbol `_iob' has differing sizes:
               (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
           file /usr/lib/libc.so value=0x140);
               /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
           ld: warning: symbol `__iob' has differing sizes:
               (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4;
           file /usr/lib/libc.so value=0x140);
               /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
 
    * Some other warnings also can be ignored:
 
           implicit declaration of function `int strtoll(...)'
           implicit declaration of function `int strtoul(...)'
 
    * We haven't gotten `readline' to work with MIT-pthreads.  (This
      isn't needed, but may be interesting for someone.)
 
Info Catalog (mysql.info.gz) Compilation problems (mysql.info.gz) Installing source (mysql.info.gz) Windows source build
automatically generated byinfo2html