[Sep 9 2009] * ADDED: uri_file_name/2 * ADDED: library(uri), providing a much faster and modern API to handling URIs and IRIs. [Aug 18 2009] * CLEANUP: Bug#413: Complete 'make distclean'. Feliks Kluzniak [Aug 7 2009] * MODIFIED: WinSock interface now signals WSAECONNABORTED as EOF when reading. This is somewhat debatable, but compatible with the Unix version of the socket interface. Matt Lilley. [Aug 3 2009] * PORT: Avoid name-clash on SOCK_* constants. [Jul 27 2009] * FIXED: Another timer issue that could crash the alarm-scheduler. * FIXED: The library(time) now uses SIGUSR2 rather then SIGALRM if available to avoid interference from libreadline's signal handling of SIGALRM. * FIXED: Crash in alarm-timers (Multi-threaded unix version) [Jul 21 2009] * MODIFIED: Make initialization/1 ISO compliant This patch is a modest cleanup to the implementation of '$load_file'/3 from init.pl and provides an ISO compatible implementation of initialization/1. This executes the argument goal *after* loading the file rather than when encountering the directive. Often this makes no difference, but notably load_foreign_library/1 is an exception. Therefore we added use_foreign_library/1,2 that act as a directive and provides proper integration with saved-states automatically. Loading code using initialization(load_foreign_library(...)) will load the library immediately and issue a warning. See initialization/1,2 for details and further hints for dealing with possible compatibility problems. [Jul 8 2009] * ADDED: alarm_at/4. Addition provided by Samar Abdallah. [Jul 6 2009] * FIXED: library(time) (Unix version): properly handle multiple alarms at the same time. Reported by Samer Abdallah. [Jun 15 2009] * BUILD: Skip RFC2202 tests if Prolog is not compiled with unbounded arithmetic. Keri Harris. [Jun 2 2009] * ADDED: uninstall_alarm/1 [Mar 30 2009] * FIXED: alarm handling on Win64 (Kerri Haris) [Mar 19 2009] * CLEANUP: Removed all trailing whitespace from all source-files. This avoids many GIT (merge) warnings. [Mar 12 2009] * MODIFIED: Renamed concat_atom/2,3 into atomic_list_concat/2,3 for compatibility. Moved the old predicates into library(backcomp). It is adviced to update your code, but 99% of the code will remain working because the old definitions are autoloaded. [Feb 4 2009] * FIXED: Uninitialised variable in environment parsing of process.c. Keri Harris. [Jan 29 2009] * CLEANUP: generalisations in the socket library design to allow TIPC to reuse parts of it. Contributed by Jeff Rosenwald. * PORT: Port new environment initialisation of process_create/3 to Windows. The new environment processing code is free of limits (of course, except limits of the operating system). [Jan 28 2009] * ADDED: env option to process_create/3 to specify the environment for the child process. [Jan 26 2009] * FIXED: make install_alarm/1 produce an error when installing twice. * MODIFIED: Renamed setup_and_call_cleanup/3,4 to setup_call_cleanup/3 and setup_call_catcher_cleanup/4; added to library(backcomp). * ADDED: library(streaminfo) for debugging (network) stream issues [Jan 23 2009] * CHECK: Fixed makefile for modified test entry-point [Jan 22 2009] * ADDED: free_on_close option to open_memory_file/4 * CLEANUP: library(time) to use meta_predicate declaration and make debugging a bit simpler. [Oct 9 2008] * ADDED: library(unix): support symbolic signal names. * FIXED: Many errors in exceptions raised after failing system calls by the libraries from the clib package. [Oct 2 2008] * ENHANCED: Cache value of gethostname/1. [Sep 11 2008] * PORT: Add AC_PREREQ to configure.h for systems that auto-select autoconf versions. After tip by Ulrich Neumerkel. [Sep 9 2008] * ADDED: TCP sockets: support TCP_NODELAY using tcp_setopt(Socket, nodelay(true)). After patch submitted by Matt Lilley. [Aug 14 2008] * FIXED: Possible crash if closing a socket in Windows fails. Matt Lilley. [Aug 13 2008] * FIXED: Windows: closing the read-handle of a socket reported an error. Matt Lilley. [Aug 11 2008] * INSTALL: Remove all configure files from the git repository [Jul 4 2008] * FIXED: library(process) stream administration (could lead to errors in close) [Jul 3 2008] * FIXED: Avoid possible deadlock in PL_cleanup_fork(). Michiel William Kauw-A-Tjoe [Jun 25 2008] * ADDED: memory_file_to_atom/3 and memory_file_to_codes/3 to convert encodings. [Jun 27 2008] * FIXED: read_line_to_codes/3: foreign implementation did not unlock stream. [Jun 13 2008] * FIXED: Include initialization to load process.so. Matt Lilley. [May 21 2008] * FIXED: Error message when using a service name in tcp_bind/connect. Jean-Marc Vanel. [May 20 2008] * PORT: Port UDP socket support to Windows * MODIFIED: Streams in socket.pl and ssl.pl appeared unbuffered. They are now fully buffered. [May 19 2008] * ADDED: support for 'as(Type) option to udp_receive/4 [May 16 2008] * FIXED: Process streams are by default in text-mode using full buffering. [May 12 2008] * PORT: Ported library(process) to Windows [May 11 2008] * ADDED: library(process), providing SICStus 4 compatible process interaction to the clib packages. Currently runs on Unix systems only (tested Linux and MacOS X 10.4). This patch also extends the foreign interface with the PL_get_signum_ex() and PL_cleanup_fork(). [Mar 10 2008] * FIXED: Pass error while waiting for accept() in Windows [Feb 26 2008] * PORT: Fix compilation of SHA1 routines for SUN/SPARC. Robert Andersson. [Feb 15 2008] * FIXED: cgi_get_form/1 now assumes input data is in UTF-8. [Jan 23 2008] * PORT: Bug#346: Allow overriding COFLAGS and CWFLAGS in package configuration. Keri Harris. [Jan 15 2008] * PORT: Fix cpp handling in clib package configure. This is assumed to fix the Darwinports on MacOS Leopard. Nico, Ryoko et Anna. Oct 6, 2007 * FIXED: call_with_time_limit non-determinism. Norbert Fuchs. Sep 25, 2007 * Make SHA routines compile on Solaris Sep 3, 2007 * Possible not working timer alarm. Ulrich Neumerkel. Jul 30, 2007 * FIXED: Bug#302: memory leak in atom_to_memory_file/2 with filled output argument. Keri Harris. Jul 12, 2007 * FIXED: call_with_time_limit/2 if the alarm fires before call_cleanup is entered, a theoretical problem using short timeouts on a loaded machine. * ADDED: install_alarm/1. * FIXED: Avoid exit of Prolog on uncaught exception from call_with_time_limit/2. Ulrich Neumerkel. May 3, 2007 * ADDED: open_memory_file/4, providing encoding facilities. Matt Lilley. Apr 23, 2007 * FIXED: tcp_accept to deal with stream handles (broken in nbio redesign). Mar 7, 2007 * FIXED: Put debug message "shutdown(6=-1, SD_RECEIVE) failed" under tcp_debug/1. Mike Elston Mar 6, 2007 * FIXED: Waiting for a socket with XPCE enabled. * ADDED: SHA-1 and SHA-2 support in new library(sha). Feb 28, 2007 * Re-renerated HTML docs (outdated) Feb 26, 2007 * FIXED: complete redesign of nonblock.c socket layer to deal with validness of socket handles. Feb 9, 2007 * ADDED: MD5 hashes to crypt. Added library(crypt) to Windows version (only supporting MD5). Feb 2, 2007 * Fixed alloca issues in socket.c. Richard O'Keefe. Jan 31, 2007 * Documentation update to document issues in the Windows timer implementation. Jan 23, 2007 * size_t cleanup. Dec 12, 2006 * FIXED: Error handling in read_line_to_codes/[2,3] and read_stream_to_codes/[2,3]. Nov 8, 2006 * CLEANUP: GCC warnings Oct 27, 2006 * FIXED: random/3 never to generate upper bound. Nicos. Oct 16, 2006 * ADDED: YAP/SICStus compatible library(random). Sep 7, 2006 * FIXED: Bug#205 make --> $(MAKE). Marc Espie Feb 1, 2006 * FIXED: Remove DOS ^M from files in maildrop package. Richard O'Keefe. Jan 19, 2006 * Fixed: Bug#137: make time.c compile for single-threaded operation Keri Harris. Jan 12, 2006 * Fixed: rewrote most of time.c, providing alarm/4 using portable pthread code. Jan 10, 2006 * UDP ssize_t portability issues Dec 23, 2005 * Start work on UDP support in socket.pl. Oct 14, 2005 * Fixed signedness error in library memfile, returning incorrect values for size_memory_file/2 Oct 11, 2005 * PORT: Use plld to compile maildrop as position independent code May 22, 2005 * PORT: Added maildrop RFC libraries to distribution Apr 23, 2005 * FIXED: mime_parse/3: read stream with Sgetcode rather than Sgetc to deal with encoding issues. Feb 17, 2005 * ADDED: Provide wide-character support for library(memfile). Dec 16, 2004 * FIXED: Socket and ssl interaction problems (Windows). Matt Lilley. October 04, 2004 * FIXED: library(socket) and library(ssl): potential crash and starvation issue. Appears to happen only on Windows NT, but the problem can -at least in theory- also appear in other Windows versions. With thanks to Mike Elston for providing the test program. Sep 21, 2004 * FIXED: cgi_get_form/1 for www-form-encoded strings with lowercase %xx. John Paolillo. Jul 18, 2004 * CLEANUP: ensure mimimal library dependency. After discussion on mailinglist. Jul 5, 2004 * CLEANUP: split socket library in two to be able to reuse the non-blocking socket stuff in the SSL library. May 5, 2004 * FIXED: memory leak in open_memory_file/3. Fabien Todescato. Oct 2, 2003 * PORT: Configure socket library for IRIX 6.5 (Rob Myers). Aug 28, 2003 * FIXED: Complete rewrite of library(socket) for MS-Windows. Jun 2, 2003 * FIXED: time:remove_alarm/1 for MS-WIndows. Mike Elston. Mar 14, 2003 * ADDED: Code to make sockets cooperate with signals, so call_with_time_limit/2 works on blocking socket operations. * FIXED: Error handling on sockets (Windows) * FIXED: call_with_time_limit/2 module problem Feb 2, 2003 * FIXED: call_with_time_limit/2 if the argument goal fails. Wouter Jansweijer. Dec 18, 2002 * FIXED: make all socket calls resume on EINTR (Unix systems). Dec 7, 2002 * FIXED: hand open sockets to other threads (blocking problems in Windows). Dec 6, 2002 * FIXED: blocking write in sockets and make tcp_close_socket close the associated streams (if any). Dec 4, 2002 * FIXED: tcp_close_socket/1 to work on the listened socket. Peter Marks. Dec 2, 2002 * ADDED: tcp_bind(+Socket, -Port) to bind with an arbitrary free port. Nov 29, 2002 * FIXED: MS-Windows tcp_read() not to wait for messages after we have seen FD_CLOSE. Holger Kanwischer. * ADDED: Make library(socket) suitable for multi-threaded operation in MS-Windows. Mike Elston. Nov 26, 2002 * ADDED: Make library(time) suitable for multi-threaded operation. * ADDED: library(rlimit) for accessing POSIX process limits Jul 24, 2002 * ADDED: tcp_setopt(Socket, dispatch(false)) Jun 20, 2002 * FIXED: Handle WSAEWOULDBLOCK in tcp_acept() to get a blocking accept call. Jun 11, 2002 * ADDED: library(files), providing uncommon access to file objects. 29/04/2002 * Add initialization to load_foreign_library for calls lacking this. Holger Kanwischer. 28/03/2002 * Record position on socket-streams (SIO_RECORDPOS). * Many changes to library(socket): fixes for the Windows implementation, dispatch events during tcp_read() while waiting for input. 01/02/2002 * Modified copyright for compatibility with the now LGPL SWI-Prolog system 07/12/2001 * FIXED: memory_file_to_atom/2 and friends to return size 0, empty atom when the file contains no data. 10/06/2001 * ADDED: library(mime) for MIME message parsing. 07/10/2000 * ADDED: Allow for descriptor to arguments of dup/2. 30/06/1999 * ADDED: cgi.pl, cgi.c and form.[ch] providing cgi_get_form/1 to get the Form-data if SWI-Prolog is installed as a CGI script. 06/04/1999 * Renamed the predicates from the socket package to tcp_. These predicates are meant as low-level primitives and their normal name is too general.