Commit graph

74 commits

Author SHA1 Message Date
jlam
c485e3342e Fix checks for disabling syscall-hard and properly emit a message for that
case.
2002-10-18 19:22:09 +00:00
skrll
542d8c2cf2 Arrrgh. Missed in previous commit. 2002-10-14 11:55:14 +00:00
skrll
e3bf53861b Various updates and fixes that I've collected recently:
* Provide nanosleep(2) and usleep(3) wrappers.

	* Make sure sigprocmask syscalls are used in pth_system.

	* "Fix" FD_SET handling in the select(2) wrapper so that
	  mismatches between pth FD_SETSIZE and user program
	  FD_SETSIZE don't cause problems.

	* Update poll(2) wrapper to be more poll(2) like - in
          particular never return EINVAL for bad file descriptors
	  Thanks to Matthias Drochner for this.

	* Improve error handling in connect(2) wrapper so that we
	  don't confuse the scheduler. This fixes pkg/17944 from
	  Christian Biere (ChristianBiere at gmx dot de)

	* Introduce autoconf handling of the value of FD_SETSIZE
	  used by pth. If we have to hard code a value we might
	  as well make it easy to change and make the inclusion
	  of pth.h or pthread.h by a program that re-defines
	  FD_SETSIZE an error.

	  Inspired by pkg/17944.

	* Fix a compiler warning that I introduced a little while
	  ago.

	* Disable --enable-syscall-hard for non-NetBSD platforms
	  and for pre-1.6/m68k. Make a note of the PRs that need
	  fixing. This closes pkg/18236 from Klaus Heinz (k dot
	  heinz dot sep dot zwei at onlinehome dot de)

The FD_SETSIZE problems would be handled better if pth was changed
to use poll(2), and not select(2), internally.
2002-10-14 11:49:54 +00:00
wiz
26308f4a48 We still need this a bit longer. 2002-10-13 11:31:43 +00:00
wiz
a10f4baf89 Unused. 2002-10-13 00:42:19 +00:00
skrll
6522c09dea Fix merge botch after buildlink2 merge. 2002-08-29 19:44:07 +00:00
jlam
e2afa97f51 Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.  This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
2002-08-25 18:38:05 +00:00
skrll
459f021fc9 Apply a fix to the initialization routine so that make test works with
--enable-syscall-hard.

Allow -O2 optimisation of i386 - the reason this was removed is somewhat
bogus.

Bump PKGREVISION.
2002-08-01 13:36:08 +00:00
jlam
94bb6c3d26 Really bump the PKGREVISION this time. 2002-08-01 05:58:00 +00:00
jlam
3abecf7e02 Merge changes to enable hard sycalls from devel/pth-syscall into devel/pth.
Bump the PKGREVISION to 1.
2002-08-01 05:18:48 +00:00
schmonz
0cced22e83 Use canonical pkgsrc config.guess and config.sub to build on Darwin. 2002-07-28 16:21:30 +00:00
skrll
f24bd8ca6b Relax the CONFLICT with pth-syscall now that Al has changed pth-syscall. 2002-07-24 15:28:06 +00:00
grant
53af147624 1.4.0 incremented major (Makefile v1.34), bump buildlink depends to 1.4.0.
reported by Kevin P. Neal in pkg/16820.
2002-05-31 06:24:53 +00:00
skrll
19f99199a4 Add a new variation on the pth package that has --enable-syscall-hard
as part of the configure options. A pth with this option enabled provides
some semblance of pre-emptive threads - enough for things like xmms and
knode to actually work.

Add the necessary glue to pthread.buildlink.mk and appropriate CONFLICT
into pth.

It is hoped that the pkgs that currently use

	-D_POSIX_THREAD_SYSCALL_SOFT=1

will be tested against pth-syscall and changed to use it. The goal is to
be able to add --enable-syscall-hard to devel/pth and retire pth-syscall.
Baby steps...
2002-05-29 08:19:55 +00:00
dmcmahill
8446e4d6eb update to 1.4.1 from 1.4 This is a bugfix release.
- Internally make sure an invalid file-descriptor (integer not
  between 0 and (FD_SETSIZE-1) does not lead to any segfaults or
  other undefined behaviour. Instead an error is returned and errno
  is set to EBADF, similar to what the OS functions do. Especially
  pth_poll() now return with this error (instead of skipping the fd)
  if an fd in the "struct pollfd" is invalid.
  [Ralf S. Engelschall, Archie Cobbs <archie@packetdesign.com>]

- Correctly support PTH_FDMODE_NONBLOCK in pth_connect and pth_accept.
  [Archie Cobbs <archie@packetdesign.com>]

- Fixed typos in manual page.
  [Michael Schloh v. Bennewitz <michael.schloh@de.cw.net>,
   Takashi Ishihara <tishihara@ucdavis.edu>]

- For portability reasons changed definition of PTH_EXT_SFIO to 0/1
  instead of FALSE/TRUE because some external definitions use a
  casted value and hence make trouble on plain #if constructs.
  [Staehli Patrik <patrik.staehli@siemens.ch>]

- Fixed return value (number of occurred events) of pth_wait().
  [David Dureau <david.dureau@cea.fr>]

- Replaced thread-unsafe usage of a static struct iovec in
  pth_writev_ev() with a thread-safe stack/heap-based solution.
  [Ralf S. Engelschall, Mark Burton <markb@ordern.com>]

- Replaced antiquated PTH_FLAG_NOJOIN references with the correct
  PTH_ATTR_JOINABLE references in the manual page.
  [Takashi Ishihara <tishihara@ucdavis.edu>]

- Fixed a (not very subtle) bug in pth_writev_ev() that screwed up
  output if a partial write happened.
  [Mark Burton <markb@ordern.com>]

- Fixed static initializers PTH_BARRIER_INIT and PTH_COND_INIT.
  [Shawn Wagner <shawnw@speakeasy.org>]

- Typo fixes in pth.pod
  [<collver@linuxfreemail.com>]

- Upgraded to GNU shtool, version 1.5.4.
  [Ralf S. Engelschall]

- Fixed "make striptease": pth_string.c was not included and some
  commands which were removed at all (and this way causes syntax
  errors) will be now correctly commented out with ":" commands.
  [Paolo Bonzini <bonzini@pc-amo3.elet.polimi.it>]
2002-03-24 18:47:38 +00:00
dmcmahill
780ce05070 add missing build dependency to the test target 2002-03-21 12:35:14 +00:00
mrauch
dd72eda632 The check for -O2 in the last commit didn't catch the possibility of
multiple flags in ${CFLAGS}. Fixed.
2002-02-12 14:59:59 +00:00
mrauch
02ad396188 Disable optimization for i386 because it can cause segfaults with a
completely thrashed stack.
2002-02-12 10:52:31 +00:00
zuntum
c72c1cf5f9 Move pkg/ files into package's toplevel directory 2001-11-01 00:57:41 +00:00
jlam
f0a4fcd3e4 Substitute the real config script for the config wrapper script in
installed files.  We don't want buildlink references to escape into the
install directory.
2001-10-03 20:56:40 +00:00
jlam
f79573370a Mechanical changes to 375 files to change dependency patterns of the form
foo-* to foo-[0-9]*.  This is to cause the dependencies to match only the
packages whose base package name is "foo", and not those named "foo-bar".
A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net.  Also
change dependency examples in Packages.txt to reflect this.
2001-09-27 23:17:41 +00:00
jlam
7bba3453dc If USE_CONFIG_WRAPPER is defined (implied by USE_BUILDLINK_ONLY), then
set FOO_CONFIG=${BUILDLINK_CONFIG_WRAPPER.foo} in both CONFIGURE_ENV and
MAKE_ENV.  We remove the check for GNU_CONFIGURE because if a package
Makefile includes the buildlink.mk file, then it most likely wants to use
the config script wrappers as well.  Change suggested by Hubert Feyrer
(hubertf) and Tomasz Luchowski (zuntum).
2001-08-17 21:14:00 +00:00
jlam
d2eb68d2a6 Add dir_DEFAULT setting used by EVAL_PREFIX logic to set the default
installation directory in case the package isn't installed.
2001-07-27 13:33:18 +00:00
jlam
7b1d3cb465 Mechanical changes to buildlink.mk files to use EVAL_PREFIX to set
BUILDLINK_PREFIX.<pkgname>.  This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed.  Idea by Alistair Crooks <agc@pkgsrc.org>.
2001-07-20 01:54:31 +00:00
jlam
aa91870439 Define PTH_CONFIG and PTHREAD_CONFIG and pass them to CONFIGURE_ENV if
USE_CONFIG_WRAPPER is defined.
2001-07-02 05:32:41 +00:00
jlam
cb76bd5efc Move inclusion of bsd.buildlink.mk to start of file. 2001-07-01 22:59:08 +00:00
jlam
34d11d8a0f Generalize how the dependency pattern may be specified. Instead of just
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0.  This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
2001-06-23 19:26:48 +00:00
jlam
8fe21bad13 Mark as USE_BUILDLINK_ONLY. 2001-06-19 21:27:57 +00:00
jlam
94fa4b67b3 Add libpthread.* to BUILDLINK_FILES, and create buildlink config wrappers
for pth-config and pthread-config.
2001-06-18 20:30:48 +00:00
jlam
32abf493ab buildlink.mk file for pth for use by other packages 2001-06-15 07:54:41 +00:00
skrll
3da1c4eaf9 When --enable-syscall-hard is specified actually provide wrappers for all
the syscalls that are documented as having wrappers. The ones missing were
wait4 and sigprocmask.

Patches have been sent to package maintainer.
2001-05-14 20:21:18 +00:00
wiz
dfb2d5edc6 Move to sha1 digests, and/or add distfile sizes. 2001-04-21 00:44:09 +00:00
agc
caf839dc17 Add distfile size, use sha1 digest 2001-04-18 10:36:28 +00:00
agc
d7d36b3561 + move the distfile digest/checksum value from files/md5 to distinfo
+ move the patch digest/checksum values from files/patch-sum to distinfo
2001-04-17 10:57:56 +00:00
rh
6fe001c88d Update pth to 1.4.0
Changes between 1.4a3 and 1.4.0 (29-Jul-2000 to 24-Mar-2001)

   *) Added PTHREAD_PRIO_XXXX definitions to pthread.h for
      conformance to the POSIX/SUSv2 Pthread API.

   *) Implemented the pthread_{set,get}concurrency() API parts of
      POSIX/SUSv2, although internally we are (allowed to be) free to not
      do anything based on the requested level.

   *) Adjusted all pthread_attr_getXXXX() functions to use a "const
      pthread_attr_t *" as the first argument instead of "pthread_attr_t
      *" to fully-conform to POSIX/SUSv2.

   *) Added ENOSYS-stubs for pthread_attr_{set,get}guardsize()
      to the Pthread API to be more complete with POSIX/SUSv2 specs.

   *) Added still missing soft system call mapping to Pth and Pthread
      APIs for functions recv(2), send(2), recvfrom(2) and sendto(2).

   *) Upgraded to GNU shtool 1.5.2

   *) Fixed an even-manager bug which causes a thread that calls
      pth_nap() to never woke up if the only elapsed event was a timer.

   *) Added `#define _BITS_SIGTHREAD_H' to pthread.h to avoid inclusion
      of bits/sigthread.h (from signal.h) on Linux running glibc6 2.2.

   *) Added support to Makefile.in for DESTDIR variable. This allows
      easier rolling of installation tarballs (for instance from within
      RPM or similar facilities) by using "make install DESTDIR=/tmp/pth".

   *) Implemented a pth_system(3) function which is a thread-aware
      clone of the POSIX system(2) function.

   *) Fixed typos in pth.pod: "fd" -> "s" for pth_connect/pth_accept.

   *) Make --disable-shared the default under Solaris-2.[78]/x86, because
      it is known to segfault sporadically if Pth is built as a DSO.  As
      traces showed, it is not a Pth problem, but it looks like a problem
      with the dynamic linker on Solaris/x86.  The same Solaris versions
      on SPARC don't have this problem.

   *) Updated copyright messages to cover new year 2001.

   *) Fixed quoting in configure.in

   *) Let pth_sleep(3) and pth_usleep(3) immediately return
      if an argument of zero is given.

   *) Fixed pthread.pod: the newer pod2man versions seems to dislike
      embedded comments, so I moved them to the top of the file.

   *) Changed CVS URL in HACKING document.

   *) Mention http://www.mail-archive.com/pth-users@gnu.org/ in pth.pod
      and SUPPORT document.

  Changes between 1.4a2 and 1.4a3 (01-Jul-2000 to 29-Jul-2000)

   *) Upgraded to GNU shtool 1.5.1

   *) Fixed (unused) pth_time_mul() function: operator & replaced by %

   *) Use --disable-lock for ltconfig.

   *) Fixed a few typos in pth.pod.

  Changes between 1.4a1 and 1.4a2 (16-Apr-2000 to 01-Jul-2000)

   *) Upgraded to GNU Shtool 1.5.0

   *) Added OS/390 support to config.sub.

   *) Upgraded rse-pmt.ps paper to latest version as it was
      published on USENIX 2000.

   *) Stack boundary fixes for Interactive Unix support
      (--with-mctx-dsp=sjljisc). This allows one also to use this
      variant for Interix on Window-NT (a POSIX.1 compliant subsystem).

   *) Upgraded to GNU Libtool 1.3.5

   *) Fixed config.param parsing: IF is now also allowed on
      VARIABLE=VALUE lines.

   *) Allow for convinience reasons pth_usleep() to accept also
      arguments greater than 1000000.

   *) Updated HACKING document.

   *) Fixed warnings in pth_string.c related to va_arg() usage
      and implicit type conversions.

   *) Merge from Pth 1.3.5:
      Fixed the <sys/select.h> checks in Autoconf: the logic
      was reversed and this way <sys/select.h> wasn't included on
      platforms were it existed and included where it wasn't present.

  Changes between 1.3.3 and 1.4a1 (10-Mar-2000 to 16-Apr-2000)

   *) Added a new feature to config.param: parameters can be extended
      with ``<space>IF<space><shell-test>''. Then the preceeding
      parameter is only added to the command line if the <shell-test>
      returns 0. <shell-test> can be anything which is possible in a
      Bourne-Shell `if' construct's expression.

   *) Fixed usage of `volatile' qualifier in pointer context.

   *) Now check also for -Wno-long-long compiler option under
      --enable-debug, because pth_string.c contains `long long' stuff.

   *) Now pth.h and pthread.h include the non-standard <sys/select.h>
      header on brain-dead platforms (like AIX) to get the definition of
      fd_set (which is required for the pth_select prototype).

   *) Fixed auto-configuration for ISC and Win32/Cygwin platforms.

   *) Removed -L. from $(LDFLAGS) in Makefile.in, because this
      is not required (libtool already takes care of this).

   *) Added a RPM spec file pth.spec which allows one to build RPM
      packages directly from the Pth distribution tarball through a
      simple `rpm -tb pth-1.X.Y.tar.gz' call.

   *) Removed the too explicit `-m 644' from the libtool/shtool
      installation command for libpth.la and instead use a `umask 022'.
      The reason is because some platforms require the shared libraries
      to be executable, so we cannot use an explicit mode. But we use the
      umask to make sure we don't result in world or group writeable files.

   *) Use full-path /sbin/sysctl in config.guess on FreeBSD because
      not all users have /sbin in their $PATH.

   *) Added eight new I/O functions pth_{recv,recvfrom,send,sendto}[_ev](3)
      which correspond to the counterparts in UNIX98 (SUSv2).

   *) Replaced for security reasons sprintf() and vsprintf() calls
      with own pth_snprintf() and pth_vsnprintf() functions from the new
      pth_string.c source.

   *) Speeded up pth_ring_t handling by inlining code and by maintaining
      number of contained nodes explicitly to avoid an O(n) operation when
      the number of elements are requested.

   *) Upgraded to GNU shtool 1.4.9
2001-04-05 12:16:23 +00:00
wiz
94dc65fbec Update to new COMMENT style: COMMENT var in Makefile instead of pkg/COMMENT. 2001-02-16 14:38:16 +00:00
wiz
e9cd77ffca Make library majors/minors in PLIST updatable from Makefile again. 2001-01-08 02:11:35 +00:00
agc
9c2d582fc9 The way that shared objects were handled in the PLISTs and bsd.pkg.mk was
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.

+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt

With many thanks to Thomas Klausner for keeping me honest with this.
2001-01-04 15:10:17 +00:00
jlam
6f591c2d2b Add a "test" target to check that the thread library actually works by
calling the library's own test target.
2000-10-06 09:03:17 +00:00
rh
9c7290a51b Update pth to 1.3.7. Changes are: back-ports of bugfixes from the 1.4
development branch.  This especially upgrades to GNU Shtool 1.5.1 to
fix compilation problems under Solaris, which were introduced in 1.3.6.
2000-07-30 19:55:52 +00:00
rh
4ad0cf96c1 Update pth to 1.3.6. Changes are bugfixes pulled up from the 1.4.x devel
tree.
2000-07-03 11:08:12 +00:00
wiz
3bb8853c77 USE_LIBTOOL instead of USE_PKGLIBTOOL 2000-06-05 00:52:19 +00:00
rh
74add3b300 s/USE_LIBTOOL/USE_PKGLIBTOOL/
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.
2000-06-01 11:23:11 +00:00
rh
4cf8a620a3 Update pth to 1.3.5. According to the author, "this is a bugfix release
which fixes a nasty -related bug introduced in 1.3.4".  No further
information is available.
2000-04-18 08:48:33 +00:00
rh
df01bcc5c5 Update pth to 1.3.4. Changes are a lot of back-ported bugfixes from the
Pth development branch.
2000-04-17 05:34:12 +00:00
wiz
4d92a267e8 Updated to pth-1.3.3. Changes: Minor fixes, source cleanup, semantics
of pth_cond_notify() fixed to match POSIX, and default stack size
increased from 32KB to 64KB.
2000-03-13 01:20:25 +00:00
wiz
dd0b689fb1 updated pth to 1.3.2. Changes from 1.3.1:
*) Do no longer use -woff in CFLAGS for IRIX 6.5.2 and above.
*) Replaced ``while (1)'' constructs with ``for (;;)'' because some
   compilers like this more and do not warn about constant expressions.
*) Added hint to pth.pod that ``pth_join(<tid>, NULL)'' is allowed.
*) Cancel and join the ticker thread explicitly in test_select.c
*) Removed unnecessary code in pth_event.c
*) Add special namespace workarounds to pthread.h.in for HPUX
   platforms where the pthread_kill() prototypes conflict without this.
2000-02-27 04:28:44 +00:00
wiz
01bf784980 Updated to pth-1.3.1. Changes:
*) Added HISTORY document where we now write down the evolution
   and release dates of Pth to have a concise history reference.
   [Ralf S. Engelschall]
*) Added USERS document where we now collect references to
   software packages utilizing GNU Pth.
   [Ralf S. Engelschall]
*) Fixed a subtle typo in pth.pod about thread-safe functions
   and finished documentation of pth_attr_set/pth_attr_get functions.
   [James Robinson <jlrobins@uncc.edu>, Jeremie <jeremie@jabber.org>]
2000-02-21 19:54:36 +00:00
wiz
752dabf60d Update to pth-1.3.0. Changes since 1.2 (some of them had been pulled up
to 1.2.3):
   *) Better detection and support for Unix platform differences
   *) More complete support for hard syscall wrapping
   *) Memory debugging support via Dmalloc library and --with-dmalloc
   *) Added a PTH_CTRL_DUMPSTATE to pth_ctrl()
   *) Removed PTH_EVENT_PID and enhanced PTH_EVENT_FUNC
   *) First cut for Win32/CygWin support
   *) New `make striptease' feature for developers
   *) New pth.m4 file for using Pth inside Autoconf based packages
   *) New large pthread.pod manual page which contains full Pthread API
   *) Fixed numerious memory leaks
   *) Numerous bugfixes and cleanups
2000-02-20 15:21:59 +00:00
wiz
7a09fd0e91 fix typo 2000-02-06 13:31:48 +00:00