Stdio.File: Add isatty().
Stdio.InputStream: Add read_function() to the API. Fixes warnings in Standards.IIM.
Stdio: Added InputStream et al. These types can be used in places where files opened for reading are accepted.
Debug: added functions to generate perf map files
EFUNs: Improved integer types for several math functions. Improves the return types for predef::sqrt(), predef::min(), predef::max(), predef::limit(), predef::abs() and predef::sgn() when called with integer types.
Documentation [Stdio.Readline]: Document {enable,get}_history().
Documentation [Stdio.Readline]: Add doc for set_{non,}blocking().
Documentation [Stdio.Readline]: Add doc for read() and write() et al.
Documentation [Readline]: Added an example of how to use.
Compiler [Typechecker]: Changed API for apply_type_attribute() et al. They now get a mapping that they may use to keep state between arguments.
Crypto: Fix multiple warnings about passing of zero values.
Stdio: Add some missing prototypes to Stdio.NonblockingStream.
Web.Api: Authenticate with the Authorization header by default. Sending OAuth authorization information via query variables has been deprecated by RFC6750 (and others), and some endpoints (eg GitHub) do no longer support the old method. Switch to using Authorization: Bearer <access_token> by default. Also updates Web.Api.Github accordingly.
Stdio.FakeFile: Improved function types. This class needs to be compatible with both Stdio.BlockingFile and Stdio.NonblockingStream. Also fixes several broken prototypes in Stdio.NonblockingStream. Fixes several testsuite failures.
Stdio.File: Allow callbacks to be zero
Merge branch 'patches/support-mixed-in-count_memory' * patches/support-mixed-in-count_memory: GC: Support remaining types in Pike.count_memory().
Doc: Fixed AutoDoc markup typo.
Doc [Ffmpeg]: Fixed some markup issues.
async_connect using promises.
Stdio.Pipe: Add set_nonblocking_keep_callbacks() member.
Stdio.Buffer: Reduce run-time argument strictness in _search(). Searching for values that aren't possible isn't an error, so avoid the precompiler generating errors for such parameters. Fixes testsuite failure searching for character -1.
Stdio.Buffer [search]: Support searching for substrings.
Stdio.Buffer [search]: Support specifying the end position. It is now possible to inform the Stdio.Buffer lfun::_search() that it shouldn't scan past a certain position. Also removes an unused variable.
Stdio.Buffer: Added _search().
Stdio.Buffer: added truncate()
Stdio.Fd: Convert read() into a PIKEFUN.
Documentation [Termios]: Minor namespace adjustment.
HTTP.Server.Request: Add response member for log_cb.
MIME: Move decode_/encode_headerfield_params functions here.
Documentation [Stdio]: Fixed some typos.
Thread.ResourceCount: Provide fallback implementation
Documentation [Stdio]: Document low-level classes.
Stdio.UDP: Added `_fd().
Documentation [Stdio.Port]: Improved doc for fd_factory().
Stdio.UDP: Added dup().
Stdio.UDP: Added support for write callbacks.
Stdio.UDP: Support the default destination in send().
Stdio.UDP: Adjust query_mtu() to account for headers.
Stdio: Added query_mtu() to Stdio.File and Stdio.UDP.
Documentation [Stdio.UDP]: Improved doc for some constants.
Documentation [Stdio.File]: Enabled some Autodoc markup.
Documentation [Stdio.Port]: Documented changed set_id(). #4312
Merge branch 'grubba/pty-handling' into 8.0 * grubba/pty-handling: I/O [NT]: Fixed typo. Stdio [NT]: Fixed compilation error when no struct termios. Diagnostics [NT]: Fixed multiple issues with FD_DEBUG. I/O [NT]: Enable some termios functions on NT. I/O [NT]: Implemented TIOCGWINSZ and TIOCSWINSZ ioctls. I/O: Make termios code dependent on presence of tcgetattr(). Stdio: Fix get_all_args() call to support Pike 8.0 and earlier. Stdio.File: Added tcdrain() and tcsetsize().
Merge branch 'grubba/pty-handling' * grubba/pty-handling: Stdio.File: Added tcdrain() and tcsetsize().
Stdio.File: Added tcdrain() and tcsetsize(). It is now possible to set the window size for a pty or other terminal. Also adds documentation for them as well as tcflush() and tcsendbreak(), and moves it and the documentation for tc{get,set}attr() from Stdio.File to Stdio.Fd. Also some fixes to make the code work on systems with <sys/termios.h> but no <termios.h>, and preparation to make some of it work on NT. Fixes some of #10013.
Merge branch 'grubba/pty-handling' into 8.0 * grubba/pty-handling: I/O [NT]: Fixed typo. Documentation [Stdio]: Added some more notes regarding PROP_TTY.
Documentation [Stdio]: Even more PROP_TTY doc.
Merge branch 'grubba/pty-handling' * grubba/pty-handling: Documentation [Stdio]: Added some more notes regarding PROP_TTY.
Documentation [Stdio]: Added some more notes regarding PROP_TTY.
Merge branch 'grubba/pty-handling' into 8.0 * grubba/pty-handling: Process [NT]: Fixed typo in previous commit. Process [NT]: Support UTF-8 in create_process(). I/O [NT]: Added low_dwim_utf8_to_utf16(). I/O [NT]: Fixed some typos. I/O [NT]: Added dynamic lookup of symbols needed for pty handling. I/O [NT]: Added fallbacks for some stuff needed for pty handling. Build [Stdio]: Make systems without termios.h (ie NT) happy again. Stdio: Make Coverity happy. [CID 1457890] Stdio: Fixed some inverted tests in my_openpty(). Stdio: Removed extraneous and broken #include of <pty.h>. Stdio: Added support for PROP_TTY to pipe(). Stdio: Some pty-handling cleanup.
Stdio: Added support for PROP_TTY to pipe().
Merge branch 'grubba/pty-handling' * grubba/pty-handling: Stdio: Added support for PROP_TTY to pipe(). Stdio: Some pty-handling cleanup.
Documentation [Traditional]: Added some structure to the I/O chapter.
Pipe.Gzip: Moved and renamed to a more generic spot.
Stdio.Buffer: Stricter types. Use string(8bit) in more places.
FakePipe: Optimise and allow internal sockets to be destructed independently.
FakePipe: Numerous bugfixes; it actually works now. Fixes include: - Callback handling rationalised, fixed and optimised. - Eliminate double inheritance which caused subtle conflicts. - Changes the API to use ->other instead of ->get_other(). - Use single references to mux and cond variables.
Stdio.File: Support openat with a single argument. Also fixes: - Avoid a SEGV when supplied with a single argument. - Synchronise low level implementation with pike level by setting the default mask to 0777 everywhere.
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Stdio: Buffer mode now uses ->write(Stdio.Buffer()) API As part of this change, the Stdio.Buffer()->__fd_set_output() API got replaced by Stdio.Buffer()->__set_on_write(), and users (File and SSL.File) have been adopted to use it.
Documentation [Stdio.File]: Fixed some markup issues.
Merge branch 'buffer_mode_proposal_wip'
Stdio.File()->read: add optional offset argument and documentation
Stdio.File()->read(): advance buffer if possible This commit also removed Stdio.Buffer()->advance() because it is a bad API. It allows one to 'validate' uninitialized memory inside of Stdio.Buffer objects. Instead, we now try to advance the write offset in Buffer objects in Stdio.File()->read(), instead. This is done using a new internal API which can be extended to advance other buffer types in the future.
Stdio.Buffer: added allocate() and advance()
Stdio.Buffer: Added support for escapes to read_cstring().
Fix refdoc typo.
Stdio.Stat: Added lfun::_equal().
Stdio.File()->write: add documentation for buffer variant
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Equvivalent and equivalent are not equivalent.
Stdio.Buffer: Support bignums in add_int{8,16,32}(). add_int8() and add_int16() now support getting called with a bignum. add_int32() with a bignum now ignores any bits outside the 32-bit range.
Add history pop function to Readline for Hilfe's benefit
Stdio.Buffer: Some type and documentation updates.
Stdio.File(): close() fixes. Unify low level calls close_fd() and close_fd_quietly() to reduce code duplication. Fix error handling in close_fd() and do_close_fd(). POSIX says that fds are closed on all errors except EINTR, where it is unspecified. Don't complain about close(2) failing with EBADF if it previously failed with EINTR. Ignore close(2) failing with ECONNRESET. This happens on eg FreeBSD when there is still data pending to be sent and the peer has already closed the connection. Fix documentation for the return value of close(). Potential fix for testsuite failures on FreeBSD.
There was an XML syntax error in this file.
Manual: Extended the data types chapter with void & mixed. Added some elaboration on the difference between compile-time and run-time types, as well as some about the types void & mixed and how they are used. Fixes [bug 1656 (#1656)].
Fix autodoc reference.
Linewrap
Stdio.Buffer: Fixed multiple issues with read_le_int(). The threshold for using io_read_number() instead of io_read_bignum() was off by one (on the safe side). Fixes broken use of mpz_import() in io_read_bignum(). Fixed typo in documentation.
Added basic little endian support to reading Stdio.Buffer.
Fix docs typo
Mention the equivalence of Port("stdin") and listen_fd
Expanded on failure condition on async_connect.
Add a 'level' parameter to setsockopt(), and add more constants
Add set_nodelay() function to Stdio.File objects to control Nagling
Document the link between set_keepalive and setsockopt
Implement Stdio.File()->setsockopt()
Stdio: added getprotobyname()
Stdio: Added enums File{Mode,Property}Flags. Also adds corresponding documentation. Fixes some broken documentation references.
Stdio.UDP: Throw less errors in send(). Don't throw errors in send() for reasons that aren't permanent. Also fixed updating of the object errno in send().
Standards.PKCS.PFX: Added minimal AutoDoc markup.
Stdio.Buffer: Support some bignums in add_int32(). FIXME: Ought not to care about the high order bits of the bignum. FIXME: Add similar support to the other add_int*() as well. Thanks to Per Cederqvist <ceder@lysator.liu.se> for the report. Fixes [bug 7712 (#7712)].
Stdio.File: Support non-empty buffers in set_buffer_mode(). Stdio.File()->set_buffer_mode() now has a defined behaviour for adding and removing buffers that aren't empty. The behaviour is the same as for set_buffer_mode() in SSL.File.
Revert "Added the Markdown module and the standalone pike_to_html.pike from 8.1." This reverts commit 2706a62c3c72b296a0c77b418f1e186c682c7ac5.
Added creation method raw to put binary data directly in an image object without adaptation.
Removed << on file object. Has been deprecated a while and not properly working always.
Allow read_cstring to have a different end sentinel than null.
Documentation [Stdio.sendfile]: Document risk of SIGPIPE. Make sure that users of sendfile() are aware of [bug 7582 (#7582)] behavior.
Nettle: Let the IV be set through Nettle.Proxy (aka Crypto.Buffer).
Stdio.UDP: Increased paranoia in bind(). Fixes handling of close(2) failure.
Filesystem.Monitor: Added check_all().
Protocols.HTTP2: Added Frame class.
Merge branch '8.1' into per/substrings
Stdio: Initial implementation of Stdio.FakePipe. This is a class that attempts to emulate a bi-directional pipe/socket, but without using any fds. The intended use is to simplify implementation of APIs that require emulation of sockets (like eg SSL.File).
Rewrote buffer growth strategy It is now 1.625x old size instead of 2.0 x old size + bytes_added, with some exception. Also added a shrink strategy, by default it's close to the reverse: If more than 61.5% of the buffer is empty space, shrink it down (1/1.625). (cherry picked from commit 917184b64444098f8b84c79cdd1de89ccaa467f6) Conflicts: src/modules/_Stdio/buffer.cmod
Rewrote buffer growth strategy It is now 1.625x old size instead of 2.0 x old size + bytes_added, with some exception. Also added a shrink strategy, by default it's close to the reverse: If more than 61.5% of the buffer is empty space, shrink it down (1/1.625).
Removed trailing spaces.
Stdio.Port: Added some missing documentation of query_fd(). Also moved the implementation to be closer to the rest of the functions.
Stdio.Buffer(): Don't allow negative padding to be added.
Add constants for IP Type Of Service settings
Stdio.File: Fixed multiple issues in buffered mode. Seems to fix the issues detected by socktest.pike in mode 2.
Remove superfluous legacy compat support prior to 7.8.
Fix docs.
Stdio.Buffer: Fixed some documentation typos.
Stdio.File: Fixed autodoc markup error.
Stdio.Buffer: Added try_output().
Stdio: typo in documentation Buffer does not start with a vowel anymore.
Stdio.Buffer: output_to() et al now support functions. This reduces the need for proxy objects in higher level code using Stdio.Buffer internally. Also adds support for subtyped objects and multiple inheritance of Stdio.Fd et al.
Fix autodoc formatting
Stdio.File: Added query_buffer_mode().
Stdio.File: Name space cleanups. Multiple symbols in Stdio.File are now protected: * {in,out}buffer * ___{read,write,close,read_oob,write_oob,fs_event}_callback * ___id Moved the {read,write}_callback_t types to the Stdio module proper. Also adds a do {} while(0) wrapper to the CHECK_OPEN() macro.
Stdio.IOBuffer -> Stdio.Buffer (part 1)
IOBuffer: Propagate read errors in input_from(). input_from() now returns -1 on read error. Also minor optimization to avoid extra read(2) call when reading a multiple of 4096 bytes.
Stdio.File: Support buffering in read(). Stdio.File()->read() now reads from the input buffer if there is one, and then from the actual fd.
Stdio.Fd: Map _errno. Make it possible to set the errno for a Stdio.File from Pike code. Also added some minimal documentation for the other mapped fields in Stdio.Fd, as well as moving the documentation for the low-level functions from Stdio.File to Stdio.Fd.
Added rewind_key, much like rewind_on_error, but not automatic. Also speed up read_cstring about a factor of two.
Added read_hint and add_hint They read and add integers encoded like hstrings, first a length then the number.
Stdio.IOBuffer.UnwindKey: allow explicit ->rewind()
Added Stdio.IOBuffer::rewind_on_error. Use this function to cause the buffer to be rewound to the location it was at when the function was called if the object it returs goes out of scope.
Stdio.File: Some minor documentation updates.
Stdio.File: removed notify() This API has never been completed and does not work as advertised. Also, dnotify has has been superseded by inotify in 2005 which is supported as System.Inotify.
Added more direct mapping to seek. Also added SEEK_DATA and SEEK_HOLE support if they are supported by the OS (solaris, freebsd, linux). In order to keep compatibility the SEEK_<whatever> constants are actually strings. Deprecated the old seek( offset, multiplier, adder ) version of seek (which was, according to the documentation, obsolete before year 2000).
Added read_sint for read signed integer. The reverse might be more obvious (read_int for signed, read_uint for unsigned), but at least it exists now. Also fixed so that add_int works for all negative numbers, and optimized it rather significantly for bignums (it no longer creates a string copy of the bignum value). Also added a simple add_padding() function to add a few bytes of data set to a specific value (basically memset)
Allow adding chunks bigger than 2^32 at a time using add() and friends. Also, instead of saying you are trying to read too much when reading -<whatever> bytes using read or try_read you will now get an error indicating you are reading a negative number of bytes, which is hard. I guess it might unread(), but that would be highly unexpected.
Fixed the read and write callback types. This makes them more usable in strict_types mode. Since the types are now so long they use a typedef.
IOBuffer: Return -1 from output_to() on write error.
IOBuffer: Fixed some AutoDoc markup issues.
Fixed autodoc error
IOBuffer: Some documentation fixes.
Some documentation tweaks
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
Allow setting and unsetting buffers for each direction
Added buffered asynchronous I/O mode to Stdio.File In this mode the input and output is kept in buffers in the file object. Adding data to the output buffer will write it to the filedescriptor, and the read callback will receive the input buffer as its argument. The write callback will have the output buffer as a second argument, but most of the time this can be ignored since you keep the buffer object around. The write callback will only be called if the buffer needs more data, so if you implement a range_error function in the buffer that refills the buffer it will only be called once that callback returns 0.
Stdio.IOBuffer.intput/output from fd can now take the amount to process This is better for SSL files, where you can write any amount of data.
Added add_ints() method to IOBuffer.
Added support for SO_REUSEPORT when available
Some changes to Stdio.IOBuffer: o Set error mode now accepts a program to throw on error o Relaxed argument types (for now)
Added Stdio.IOBuffer.write_to(Stdio.Stream).
GTK2: Update Scale docs based on source file
Add nodelay() function to Stdio.File objects to control Nagling
Stricter return types for cast. This, if nothing else, makes the documentation cleaner.
Added the __COUNTER__ macro. Who knows, someone might find a use for it.
Added support for TCP_FASTOPEN (server and client) The server support is always enabled if possible, on the client side it is enabled if you pass an additional argument to connect (see the documentation).
Some minor documentation tweaks. It has been a while since the classes were called Gz_deflate and Gz_inflate.
Merge remote-tracking branch 'origin/8.0' into string_alloc
Improved type checking.
Added a few more global variable opcodes. Gotta catch em all! This time: PRIVATE_IF_DIRECT_GLOBAL and ASSIGN_PRIVATE_IF_DIRECT_GLOBAL These will fetch or assign a global variable if the currently executing program is the program the object is cloned from. These are only slightly slower than the F_PRIVATE_GLOBAL family of opcodes, and the overhead if the global is not actually private is minimal. Missing: [ASSIGN_]PRIVATE_IF_DIRECT_TYPED_GLOBAL[_AND_POP] and ASSIGN_PRIVATE_IF_DIRECT_GLOBAL_AND_POP.
Added nano-second resolution file-timestamp support to stat
Stdio.File: Improved documentation of write(). Restructured and more details about behaviour in nonblocking mode.
Stdio.cp: Detect ouroboros. Copying a directory to a subdirectory of itself would often trigger an infinite loop. Copying a directory to itself could trigger truncation of the files. Note that it's still possible to trigger this behaviour by using symlinks. Also fixes recursive_mv(), which either hanged in cp() as above, or deleted all the files if cp() succeeded in the above cases.
STDIO_DIRECT_FD appears to work. Remove old implementation.
SSL.context: Implemented some backward compat.
release number bumped to 854 by export.pike
Stdio: Added File()->get_dir(). Added function for getting the directory contents relative to an open file.
Configure: Inhibit machine code with gcc 4.6.0 and later. The machine code generator is broken when compiled with gcc 4.6.0 and later, so disable it in that case.
Standards.ASN1.Decode: Added more control to simple_der_decode(). It is now simple to add a few more known types to parse to simple_der_decode(). This is typically useful when the ASN.1 definition uses IMPLICIT tags.
Unicode.normalize: use unsigned ints for hash value hval % HSIZE for a negative hval will result in a negative htable index. this is triggered by characters in 32 bit strings which are represented by negative 32 bit signed integers
Crypto.ECC.Curve: Fixed pkcs_ec_parameters(). The curve identifier should not be wrapped in a sequence. Fixes interoperability with OpenSSL and GNUTLS.
Merge branch '8.0' into gobject-introspection
SSL: Improved robustness in destroy(). The embedded stream may still be registered with a backend when the sslfile object loses its last reference. Make sure not to trigger the "In callback mode in a different backend." error in that case. Fixes [bug 6958 (#6958)].
Nettle: Fixed some broken Autodoc markup. Also fixes an Autodoc typo in udp.c.
Stdio.File: Fix grantpt() on Solaris (and others?) grantpt(3C) on Solaris is implemented as fork + exec of "/usr/lib/pt_chmod". Unfortunately the libc function doesn't bother clearing the FD_CLOEXEC flag before the exec, so the fd never got to the helper binary, which caused grantpt(3C) to fail with EPERM.
Stdio.File()->open_socket: Document the use of negative port for "unspecified"
Stdio.UDP: bind now has an additional no_reuseaddr parameter so that users can opt out of setting SO_REUSEADDR. It turns out that with newer Linux kernels at least, setting SO_REUSEADDR on UDP is not such a good idea. It probably never was very helpful even before the change in Linux. Setting it as a default is a bit cumbersome.
Avoid synonyms for IPV6 constants (not found on OS X, and Linux declares them as obsolete).
Stdio.UDP: Support IPv6 multicast. enable_multicast() and set_multicast_ttl() now support IPv6. Also improves documentation for the multicast-related functions.
Merge remote-tracking branch 'origin/7.9' into pdf
Doc update.
Move the documentation into Image.JPEG.
send_fd does not return any result.
Some tweaks that removes both _Stdio and files from the documentation.
Move documentation to _Stdio.
Merge remote-tracking branch 'origin/7.9' into ba
files -> _Stdio with minimal changes.
Stdio.File: Added linger(). Implemented support to change the linger time on sockets.
OMS-7836, OMS-7899: Allow setting Stdio.UDP buffer sizes. Mostly copied from Stdio.File.
Merge branch '7.9' into gobject-introspection
Merge remote branch 'origin/7.9' into rblock_alloc Conflicts: src/post_modules/CritBit/floattree.cmod src/post_modules/CritBit/inttree.cmod src/post_modules/CritBit/stringtree.cmod
Docs change: mention the way of accessing IN6ADDR_ANY when using Stdio.Port()->bind()
files: Moved documentation for some low-level stuff to their actual place.
Stdio: some more documentation for fs_events.
Pike.PollDeviceBackend/Stdio.File: Add support for filesystem (Vnode) event alerts on systems using kqueue(), such as Darwin and *BSD.
SSL: added next protocol negotiation extension
Stdio: Make getchar() less filling, and inlinable.
Added set_callbacks and query_callbacks to handle several callbacks at once.
Stdio.Fd: Fixed several cases where the flag FILE_HAVE_RECV_FD was lost.
Stdio.Fd: The type for create() is now as documented. Fixed detection of capabilities for naked fds.
Added Stdio.File()->{send,receive}_fd(). File descriptors may now be sent and received over UNIX-domain sockets.
Improved file descriptor capability handling. * Added PROP_SEND_FD. * Improved detection of file descriptor capabilities for anonymous fds. * Improved documentation of the file descriptor capabilities.
Revert "Fix third and later iteration of Stdio.{write,append}_file(). Fixes [bug 6052 (#6052)]." This reverts commit fff636ba768f5f36dceaa203c5453efae4471135. The commit contained lots of junk from Pike 7.8 that git-cherry-pick decided to copy...
Fix third and later iteration of Stdio.{write,append}_file(). Fixes [bug 6052 (#6052)]. Thanks to Per Cederqvist <ceder@lysator.liu.se> for the report.
Added doc for recursive_mv on some behavior inherited from cp.
Stdio.FILE.set_charset now tries to use the environmentvariables CHARSET and LANG to detect a suitable charset if none is specified. Use this functionality from Stdio.Readline.
Use Stdio.DATA_CHUNK_SIZE in more places.
Fixed atomicity bug in set_nonblocking when given a close cb without read cb.
Added MetaTerminfoDB that merges several terminfo directorys. Rev: lib/modules/Stdio.pmod/Terminfo.pmod:1.30
Added some extra magic to connect() when mixing IPv4 and IPv6 addresses. Added FIXME regarding mapped IPv4 addresses to query_address(). Rev: src/modules/files/file.c:1.437
Split up the data to write in nb_sendfile. This can give a big performance boost when sending very large strings. It is used e.g. when Roxen sends string responses over SSL/TLS. Rev: lib/modules/Stdio.pmod/module.pmod:1.213
Split up the data to write in nb_sendfile. This can give a big performance boost when sending very large strings. It is used e.g. when Roxen sends string responses over SSL/TLS. Rev: lib/modules/Stdio.pmod/module.pmod:1.255
Fixed length-limit in bind_unix(). Added automatic retry on EINTR to bind_unix(). Rev: src/modules/files/socket.c:1.104
Fixed length-limit in connect_unix(). Added automatic retry on EINTR to connect_unix(). Rev: src/modules/files/file.c:1.416
Some minor documentation updates. Rev: src/modules/Image/encodings/bmp.c:1.47 Rev: src/modules/Image/encodings/pnm.c:1.35 Rev: src/modules/_Roxen/roxen.c:1.54 Rev: src/modules/files/termios.c:1.25
Fixed typo in documentation. Rev: src/modules/files/file.c:1.411
Fixed overzealous filtering in Stdio.File()->mode(). Fixes [bug 4852 (#4852)] where Stdio.nb_sendfile() always runs in blocking mode. Rev: src/modules/files/file.c:1.410
Bugfix for NT. Rev: lib/modules/Stdio.pmod/module.pmod:1.254
Cleaned up the STDIO_DIRECT_FD code somewhat. _fd is now provided by Stdio.Fd. Implemented assign() and dup() for the STDIO_DIRECT_FD mode. STDIO_DIRECT_FD is now capable of running socktest.pike. Rev: lib/modules/Stdio.pmod/module.pmod:1.253
Added fd_factory() and push_new_fd_object(). Rev: src/modules/files/file.c:1.402
Added fd_factory(). Rev: src/modules/files/socket.c:1.101