Commit 373e19dc authored by serg@sergbook.mysql.com's avatar serg@sergbook.mysql.com
Browse files

Merge work:/home/bk/mysql-4.0

into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.0
parents 53b88c20 b287b3ed
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -40739,9 +40739,11 @@ $rv = $sth->rows;
@findex DBI->@{NULLABLE@}
@findex NULLABLE DBI method
@item NULLABLE
Returns a reference to an array of boolean values; for each element of
the array, a value of TRUE indicates that this
column may contain @code{NULL} values.
Returns a reference to an array of values that indicate whether columns may
contain @code{NULL} values.
The possible values for each array element are 0 or the empty string if the
column cannot be @code{NULL}, 1 if it can, and 2 if the column's @code{NULL}
status is unknown.
Example:
@example
$null_possible = $sth->@{NULLABLE@};

mit-pthreads/.cvsignore

deleted100644 → 0
+0 −6
Original line number Diff line number Diff line
Makefile
config.cache
config.h
config.log
config.status
obj

mit-pthreads/COPYRIGHT

deleted100644 → 0
+0 −31
Original line number Diff line number Diff line
Copyright (c) 1993, 1994, 1995, 1996 by Chris Provenzano and contributors, 
proven@mit.edu All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
   must display the following acknowledgement:
 This product includes software developed by Chris Provenzano,
 the University of California, Berkeley, and contributors.
4. Neither the name of Chris Provenzano, the University, nor the names of
  contributors may be used to endorse or promote products derived
  from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY CHRIS PROVENZANO AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL CHRIS PROVENZANO, THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

mit-pthreads/Changes-mysql

deleted100644 → 0
+0 −241
Original line number Diff line number Diff line
Changes done to this distrubtion (pthreads-1_60_beta6) by Monty
(monty@mysql.com)

02.06.20
- Added support for semaphores.

02.05.07
- Hacked some files to get it to compile (not work) with glibc 2.2
  This is needed so that we can do 'make dist' in the MySQL distribution

02.04.26
- removed the following files because of copyright problems

machdep/i386-sco-3.2v5/__signal.h
machdep/i386-sco-3.2v5/__stdio.h
machdep/i386-sco-3.2v5/__stdlib.h
machdep/i386-sco-3.2v5/__string.h
machdep/i386-sco-3.2v5/__time.h
machdep/i386-sco-3.2v5/__unistd.h
machdep/i386-sco-3.2v5/compat.h
machdep/i386-sco-3.2v5/dirent.h
machdep/i386-sco-3.2v5/posix/__signal.h
machdep/i386-sco-3.2v5/socket.h
machdep/i386-sco-3.2v5/syscall.h
machdep/i386-sco-3.2v5/timers.h
machdep/i386-sco-3.2v5/trash.can
machdep/sco-3.2v5/__math.h
machdep/sco-3.2v5/__signal.h
machdep/sco-3.2v5/__stdio.h
machdep/sco-3.2v5/__stdlib.h
machdep/sco-3.2v5/__string.h
machdep/sco-3.2v5/__time.h
machdep/sco-3.2v5/__unistd.h
machdep/sco-3.2v5/compat.h
machdep/sco-3.2v5/dirent.h
machdep/sco-3.2v5/posix/__signal.h
machdep/sco-3.2v5/socket.h
machdep/sco-3.2v5/syscall.h
machdep/sco-3.2v5/timers.h
machdep/sco-3.2v5/trash.can

93.04.01
- socket() didn't return NOTOK (-1) on error.
- bind() didn't set error code on failure

93.03.27
- Added patch by D. Richard Hipp <drh@vnet.net> to make strtod and
  printf (of floats/doubles) thread safe. Patch provided by mevans@cti-ltd.com
- Added patch I got from lucid@secret.org to fix lock in fork().

93.03.26
- Fixed some include files for BSD 2.0.
- Changed the prototype of ioctl() for BSD.
- Fixed new bug in fd_kernel.c; _fd_kern_read returned sometimes wrong errno.

93.03.22
- Change sys/cdefs.h to get it through Sun cc.
- Added patches by Mark Evans
  1. Crashes and hangs.
  2. Missing functionality (namely flock())
  3. Use of POSIX reentrant safe routines.

93.03.21
- Add patches by Larry V. Streepy to fix pthread_cancel.
  Fixed bug in Streepy's patch that checked return values of read,write..
  in fd.c (Already done in fd_sys.c)

1. Added a declaration of &#34;signal&#34; to include/signal.h
2. Modified PANIC macro to operate like assert and call a new function
   panic_kernel.  Added new file pthreads/panic.c.
3. Added support for fstatfs syscall for linux (mod to
   syscall-i386-linux-1.0.S).
4. Added missing function declarations to machdep/linux-1.0/socket.h:
   getsockopt
   setsockopt
   getsockname
   getpeername
   send
   recv
   sendto
   recvfrom
   sendmsg
   recvmsg
   shutdown
5. Added ifdef to avoid type conflict in machdep/linux-1.0/timers.h
6. Fix bug in getprotoent (bogus semi-colon after if stmt).
7. Change function name in proto_internal.c from _proto_init to 
   _proto_buf.
8. Fix bug in res_internal.c where buffer pointer was improperly 
   maintained.
9. Fix return value handling for POSIX function implementations.
10. Fix bug in select handling where a thread could be incorrectly 
    resumed with no sockets ready.  Also added proper handling of
    selecting for exceptions (this was not implemented at all).
11. Added deadlock detection to pthread_join (it can now return an
    EDEADLK error).
12. Added support for pthread_cancel, changes to lots of files for this.
13. Add new function __pthread_is_valid that searches the pthread list
    for a specified pthread_t value.

93.03.22
- Fixed some if the tests according to the below changes.

93.03.21 by "Mati Sauks" <mati@psti.com>
- Fixed bug if priority queue was empty or (*current)->next is empty.

96.03.20 by Josip Gracin
- Fixed gethostbyname to handle alias

97.02.07
- Removed CVS directories.
- Commented make install in GNUmakefile.in.

97.01.26 by David (david@detron.se)
- Fixed a dist target in the GNUmakefile 
- Added #undef PTHREAD_STACK_MIN to avoid warning on solaris 2.5

97.01.21 by Monty (monty@tcx.se)

- Added file mysql-TODO and the patches directory.
- Added patch p153 and p155 by Tim Hinderliter and Chris Colohan
  check the patches directory for more info.
- Changed pthread_cond_timedwait to return ETIME instead of ETIMEDOUT
  (Required by Posix)
- Changed the include file pthread.h to add prototypes for the following
  functions:  pthread_sigmask, sigwait and sigsetwait 
- Added shutdown() and getpeername() prototypes to 'machdep/sunos-5.3/socket.h'
- Changed __FD_NONBLOCK to    (O_NONBLOCK | O_NDELAY) in
  ./machdep/engine-sparc-sunos-5.3.h
- Added rint() prototype to math.h
- Added new slot sighandled to 'struct pthread' for easy check if somebody
  interrupts a system call.
- pthread_kill can now interrupt the following system calls:
  select(), read(), write(), send(), sendto(), sendmsg(), recv_timedwait(),
  recvfrom_timedwait(), readev(), writeev() and some socket functions.
- Fixed bug in pthread_kill() which count up 'sigcount' wrongly.
  Two pthread_kill() in a row bugged the thread.
- Merged fd_kern_wait and fd_kern_poll to 1 function and removed a
  a bug when polling select.
- Implemented getpeername().
- Some small optimizations.
- Some re-indentation to make the code readable by me (Sorry about that).

97.08.15 by Monty (monty@tcx.se)

- Added patch by "Chris G. Demetriou" <cgd@pa.dec.com> for NetBSD/alpha.

97.08.18 by Monty (monty@tcx.se)

- Added new machdep definitions for HPUX-10.20,
  by JOERG_HENNE@Non-HP-Germany-om88.om.hp.com

97.09.25 by Monty (monty@tcx.se)

- Added some definitions for i386-SCO from the site:
  http://www.sco.com/skunkware/osr5/libraries/

97.10.12 by Monty (monty@tcx.se)

- Changed prototype macro __P to __P_ to avoid warnings on Solaris.
- Fixed interruption of select() with pthread_kill() when signal handler
  used read or write.

97.10.16 by Monty (monty@tcx.se)

- Fixed that blocked signals doesn't interrupt threads.

97.10.20 by Monty (monty@tcx.se)

- Fixed broken ftruncate system call for FreeBSD 2.0
  The old one destroyed the orignal file by truncation too much.
- Fixed prototypes for des_setkey,encrypt and setkey (according to Solaris 2.5)

97.11.26 by Monty (monty@tcx.se)

- Small patch to avoid compile errors on alpha-OSF1 3.2

97.12.18 by Monty (monty@tcx.se)

- Added fix for Irix 5.3 in __unistd.h

98.01.13 by Monty (monty@tcx.se)
- Added fd_check_entry to dup2 and table sizecheck to fd_check_entry()
  patch by Martin Fuchs <Martin@igdv.fh-darmstadt.de>

98.01.18 by Monty (monty@tcx.se)
- Added prototype for gettimeofday() for Solars 2.3
- Added some small fixes for configure and Solaris 2.6

98.01.23 by Monty (monty@tcx.se)
- Ported to openbsd.
- Renamed nanosleep() to pthread_nanosleep() to avoid name conflict on
  openbsd.
- Fixed link problem with variable __sglue for Irix 5.3
  by Vladislav Malyshkin <malyshki@cs.wmich.edu>.

98.03.02 by Monty (monty@tcx.se)
- Applied patches from Curt Sampson <cjs@portal.ca>; NetBSD 1.3/i386 port.

98.03.09 by Monty (monty@tcx.se)
- Applied patches from Curt Sampson <cjs@portal.ca>; NetBSD 1.3/Alpha port.

98.05.12
- Added unixware to config.guess

98.06.07
- Added patch by Scott Dybiec <sdybiec@humanfactor.com>:
  Fixed select() returning incorrect number of active file descriptors.

99.06.07 by Monty (monty@mysql.com)
- Added patches from the NETBSD site. Should fix the following platforms:
  alpha-netbsd-1.3, sparc-netbsd-1.3, i386-netbsd, arm32-netbsd

99.09.09 by Monty (monty@mysql.com)
- Added patches from Christoph Badura <bad@oreilly.de> for NetBSD

99.09.13 by Monty (monty@mysql.com)
- Added patches from Dirk Froemberg <dirk@FreeBSD.org> for FreeBSD

99.10.18 by Monty (monty@mysql.com)
- Added patch for machdep_sys_lseek() for netbsd.

99.12.30 by Monty (monty@mysql.com)
- Added patch by Christoph Badura <bad@oreilly.de> to update mit-pthreads
  to the same version as in the NetBSD pkgsrc.

00.02.24 by Monty (monty@mysql.com)
- Added configure files to make mit-pthreads to compile and link during
  newer linux systems (needed because of the MySQL configure system).
  The resulting library has however not been verified under Linux.

00.03.30 by Monty (monty@mysql.com)
- Added chroot() and gethostname().

00.10.18 by Monty (monty@mysql.com)
- Added patch by Dave Huang <khym@bga.com> to fix problem with date/time
  on NETBSD/Alpha.

01.01.11 by Monty (monty@mysql.com)
- Added patch by Allen Briggs <briggs@ninthwonder.com> for
  Apple PowerMac 8500 w/ G3 upgrade running NetBSD/macppc

mit-pthreads/FAQ

deleted100644 → 0
+0 −122
Original line number Diff line number Diff line

                  Answers to frequently asked questions
                  for my implementation of POSIX threads

-------------------------------------------------------------------------------
1. Pthreads

(1.0) What is Pthreads?
(1.1) Where can I get info on Pthreads?

2. Getting, Building, Installing and Using proven's Pthreads

(2.0) Where can I get the latest version of proven's Pthreads?
(2.1) What platforms does proven's Pthreads run on?
(2.2) What do I need to build proven's Pthreads?
(2.3) How do I install proven's Pthreads?

3. Known Problems

(3.0) Tests
(3.1) Installation
(3.2) Missing functionality
(3.3) Signals

-------------------------------------------------------------------------------
1. Pthreads

(1.0) What is Pthreads?

Pthreads stands for POSIX threads and is based on the POSIX 1003.1c 1995 
thread standard. This standard passed international Standards Organization 
(ISO) Committee Document (CD) balloting in February 1995 and got the 
IEEE Standards Board approval in June 1995.


(1.1) Where can I get info on Pthreads?

You can call IEEE (908) 562-3800 which is the organization which POSIX 
belongs, and ask for POSIX 1003.1c (not 1003.4a) draft 10 (the standard
won't be out until sometime in 1996). The draft costs $30.00 plus shipping 
which for me was $4.00. The IEEE doesn't make any of the standards available 
online. 

I have made documentation for some of the functions available online.
To reference these use http://www.mit.edu:8001/people/proven/pthreads.html

-------------------------------------------------------------------------------
2. Getting, Building, Installing and Using proven's Pthreads

(2.0) Where can I get the latest version of proven's Pthreads?

The latest version is pthreads-1_60_beta6 was release on November 16, 1996
and is available from sipb.mit.edu:/pub/pthreads.


(2.1) What platforms does proven's Pthreads run on?

Lot's! It should run on the following platforms; the i386 processor
running NetBSD-1.x, FreeBSD-2.x, BSDOS-2.0, Linux-1.2 and Linux-1.3; 
the r2000 (DECstation) running Ultrix-4.2; the Sparc running NetBSD-1.x, 
SunOS-4.1.3, Solaris-2.3, and Solaris-2.4; the alpha running OSF-2.3 and 
OSF-3.x; the SGI running IRIX-5.2; and the HPPA running HP/UX-9.x.

Because it runs on so many platforms I don't get to compile and test every 
platform for every release. If you have a problem send mail to
pthreads-bugs@mit.edu with the processor, OS, and version number along with
a description of the bug.


(2.2) What do I need to build proven's Pthreads?

You will need gcc and gmake to build for all but NetBSD, FreeBSD and BSDOS.
For those you may use either gmake or pmake (the native make).


(2.3) How do I install proven's Pthreads?

Installing pthreads is real easy. At the top level of pthreads do

configure
make
make install

It will be installed into the directory /usr/local/pthreads. If you don't 
like the location add a --prefix=<dir> option to configure. That's it.


-------------------------------------------------------------------------------
3. Known problems.

(3.0) Tests

Under SunOS-4.1.x there is a bug in the kernel that prevents test_sock_1
from passing. This bug has to do with a process tring to connect to itself.
In respose I wrote test_sock_2 to test the socket code for SunOS which 
does work. You should have no problems using the socket code in SunOS
so long as you don't write a program that need to connect to itself.


(3.1) Installation

The only know problem is on the SGI. You will need to use GNU tar instead
of the native supplied one or edit the config.flags file and remove the -h
option to tar. Aparently the -h option on IRIX 5.3 version of tar does the
exact opposite of all the other versions of tar I've used and instead of
following symbolic links and getting the file it archives the link.


(3.2) Missing functionality

The current release is missing cancelation, priority mutexes and others.
I'm continuing to develope pthreads and I plan to put cancelation and 
priority mutexes and as much other stuff as I can into the 1_70 release


(3.3) Signals

Currently to intermix signals with pthreads you need to rename all calls
to signal() and sigaction() to pthread_signal() and pthread_sigaction().
I plan to write real wrapper routines for signal() and sigaction() for
the 1_70 release.
Loading