Go to the first, previous, next, last section, table of contents.


MIT-pthreads notes. (FreeBSD)

You can on most systems force the usage of mit-pthreads with the configure switch --with-mit-threads.

Building in a non source directory is not supported when using MIT-threads. This is because we want to keep our changes to this code minimal.

MIT-pthreads doesn't support the AF_UNIX protocol so we must use the TCP/IP protocol for all connections (which is a little slower). If you can't connect to a table, try using the host (-h or --host) switch to mysql. This must be done if you have compiled the client code --without-server because the default connection is to use Unix sockets.

MySQL compiled with MIT threads has system locking disabled by default for performance reasons. One can start the server with system locking with the --use-locking switch.

Sometimes (at least on Solaris) the pthread bind() command fails to bind to a socket without any error message. The result of this is that all connections to server fails.

> mysqladmin ver 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 daemon and restart it. This has only happened to us when we have forced the daemon down and done a restart immediately.

sleep() isn't interruptible with SIGINT (break) with MIT-threads. This is only notable in mysqladmin --sleep. One must wait for the end of the sleep() before the interrupt is served and the process stops.

We haven't got readline to work with MIT threads. (This isn't needed, but may be interesting for someone)

When linking (at least on Solaris) you will receive warning messages like:

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 which also can be ignored:

implicit declaration of function `int strtoll(...)'
implicit declaration of function `int strtoul(...)'


Go to the first, previous, next, last section, table of contents.