Branch: Tag:


2019-08-08 11:27:07 by Henrik Grubbström (Grubba) <>

Shuffler: Make Coverity and Valgrind happier.

Do not return uninitialized data [CID 1452123].


2019-06-18 16:04:49 by Stephen R. van den Berg <>

Shuffler: Repair block pikestream sources to cope with partial reads.

2019-06-18 14:24:03 by Stephen R. van den Berg <>

HTTP.Server.Request: Restore backward compatibility and fixes to Shuffler.

Changes to HTTP.Server.Request:
- Support set_mode() in HTTP.Server.Request to optionally enable
Shuffler to output the data on the wire. Without setting it, it
will revert to the old buffered-output method.
- Reinstate write-timeout on HTTP.Server.Request, make sure it works
in both classic and Shuffler modes.

Changes to Shuffler:
- Add automatic TCP_CORK support.
- Clean up code duplication between shuffler and sendfile.
- Move wrap_callback from a separate member to an optional argument
to add_source().
- Add support for Stdio.Buffer.
- Adding empty sources works consistently now.
- Fix broken cornercases when adding strings or memory regions.
- Fix dataloss when using non-blocking io on input files.
- Support starting in a file at the spot where the filepointer is.
- Add start/length arguments to the main Shuffle object, to skip and
limit in the entire concatenated output (needed for HTTP-range support).


2019-06-14 11:50:17 by Stephen R. van den Berg <>

Shuffler.Shuffle: Numerous fixes and add set_wrap_callback().

The fixes include:
- Fixed broken end-of-stream detection for d_source_pikestream.c.
- Reduce memory footprint of source-structs by half.
- Fixed memory corruption issues because a memcpy was used on
overlapping regions.
- Eliminated all dynamic memory allocations in the shuffler.
For file-descriptor based streams it still has a fixed overhead of 16KB
per stream, for all other streams the overhead now is close to zero.

Still TODO:
- Reduce the memory overhead for fd-based streams by half; it uses
double buffering now, it could trivially be reduced to use a single


2019-03-19 12:33:55 by Henrik Grubbström (Grubba) <>

Merge commit '722771973bd' into patches/lyslyskom22891031

* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.


2019-03-14 10:39:03 by Henrik Grubbström (Grubba) <>

Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap

* commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits)
Removed the old typechecker.


2018-11-03 14:21:37 by Marcus Comstedt <>

Merge remote-tracking branch 'origin/8.1' into gobject-introspection


2018-02-15 15:54:26 by Henrik Grubbström (Grubba) <>

Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63

* commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits)


2015-10-18 01:08:46 by Martin Nilsson <>

sys/types.h is included from global.h


2015-05-25 15:33:02 by Martin Nilsson <>

Removed trailing spaces.


2014-12-04 19:26:00 by Martin Nilsson <>

More calloc conversions.

2014-12-04 19:23:24 by Arne Goedeke <>

Shuffler: do not modify shared strings


2014-04-27 19:22:46 by Martin Nilsson <>

More calloc conversions.


2014-01-05 15:14:13 by Marcus Comstedt <>

Merge branch '8.0' into gobject-introspection


2013-06-21 09:18:55 by Arne Goedeke <>

Merge remote-tracking branch 'origin/7.9' into pdf


2013-05-17 09:23:48 by Arne Goedeke <>

Shuffler: do not modify shared strings


2011-11-05 15:02:44 by Martin Nilsson <>

Removed $Id$.


2011-10-28 13:04:55 by Henrik Grubbström (Grubba) <>

Atomic megapatch: Use svalue accessor macros everywhere.


2011-04-25 16:41:40 by Martin Stjernholm <>

No more foreign_idents.

More pain than they are worth.

2011-04-25 16:12:40 by Martin Stjernholm <>

No more foreign_idents.

2011-04-25 16:11:00 by Martin Stjernholm <>

No more foreign_idents.


2009-08-13 16:21:14 by Henrik Grubbström (Grubba) <>

Renamed variable _s to src, so that it can be reserved for low-level stuff.

Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.11
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.13
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.15
Rev: src/post_modules/Shuffler/c_source_stream.c:1.14
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.9
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.7


2007-11-10 21:23:14 by Martin Nilsson <>

Fix warnings.

Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.8
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.6


2004-10-16 07:27:30 by Marcus Agehall <>

Done away with all warnings during compilation. Now compiles on GCC
3.4.2 without any warnings using the -Wall -Werror CFLAGS.
Some workarounds are not very nice, but they should do their job.

Rev: src/array.c:1.174
Rev: src/dynamic_load.c:1.85
Rev: src/encode.c:1.221
Rev: src/interpret.c:1.356
Rev: src/las.c:1.350
Rev: src/module.c:1.30
Rev: src/modules/Java/jvm.c:1.71
Rev: src/modules/_Charset/charsetmod.c:1.49
Rev: src/object.c:1.258
Rev: src/pike_search.c:1.24
Rev: src/post_modules/Nettle/cipher.cmod:1.34
Rev: src/post_modules/Nettle/hash.cmod:1.26
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.10
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.11
Rev: src/post_modules/Shuffler/c_source_stream.c:1.11
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.7
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.5
Rev: src/post_modules/Shuffler/shuffler.h:1.6
Rev: src/program.c:1.570
Rev: src/rusage.c:1.42


2004-08-25 23:04:24 by David Gourdelier <>

Backport of the Shuffler code from 7.7 branch since the code of this branch
is less stable.

Rev: src/post_modules/Shuffler/Shuffler.cmod:1.30
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.12
Rev: src/post_modules/Shuffler/c_source_stream.c:1.10
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.4


2004-07-09 01:34:47 by Stephen R. van den Berg <>

Code fixes and code reduction

Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.4


2003-09-10 15:21:59 by Martin Stjernholm <>

Fixed various warnings and potential bugs with types of different sizes.

Rev: src/encode.c:1.197
Rev: src/gc.c:1.232
Rev: src/modules/DVB/dvb.c:1.21
Rev: src/modules/Gz/zlibmod.c:1.65
Rev: src/modules/Image/colors.c:1.66
Rev: src/modules/Image/font.c:1.81
Rev: src/modules/Mysql/dummy.c:1.13
Rev: src/modules/Parser/html.c:1.167
Rev: src/modules/Postgres/postgres.c:1.32
Rev: src/modules/_Image_GIF/image_gif.c:1.16
Rev: src/modules/_Image_JPEG/image_jpeg.c:1.63
Rev: src/modules/system/system.c:1.155
Rev: src/post_modules/GTK/pgtk.h:1.31
Rev: src/post_modules/GTK/source/global.pre:1.31
Rev: src/post_modules/GTK/source/gnomeiconselection.pre:1.3
Rev: src/post_modules/GTK/source/gtkclist.pre:1.15
Rev: src/post_modules/GTK/source/support.c:1.37
Rev: src/post_modules/SDL/SDL.cmod:1.20
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.3
Rev: src/program.c:1.525


2003-03-14 15:57:49 by Henrik Grubbström (Grubba) <>

Improved dmalloc.

Rev: src/apply_low.h:1.16
Rev: src/array.c:1.138
Rev: src/backend.cmod:1.38
Rev: src/bignum.c:1.34
Rev: src/block_alloc.h:1.63
Rev: src/builtin_functions.c:1.479
Rev: src/code/ia32.c:1.25
Rev: src/cpp.c:1.115
Rev: src/encode.c:1.169
Rev: src/error.c:1.102
Rev: src/gc.c:1.209
Rev: src/interpret.c:1.295
Rev: src/interpret.h:1.131
Rev: src/interpret_functions.h:1.141
Rev: src/iterators.cmod:1.35
Rev: src/las.c:1.330
Rev: src/mapping.c:1.163
Rev: src/modules/Image/orient.c:1.24
Rev: src/modules/Image/phase.h:1.6
Rev: src/modules/Java/jvm.c:1.60
Rev: src/modules/SANE/sane.c:1.17
Rev: src/modules/_Roxen/roxen.c:1.33
Rev: src/multiset.c:1.69
Rev: src/object.c:1.228
Rev: src/opcodes.c:1.143
Rev: src/operators.c:1.172
Rev: src/pike_types.c:1.211
Rev: src/post_modules/Shuffler/Shuffler.cmod:1.23
Rev: src/post_modules/Shuffler/a_source_pikestring.c:1.8
Rev: src/post_modules/Shuffler/a_source_system_memory.c:1.9
Rev: src/post_modules/Shuffler/b_source_normal_file.c:1.8
Rev: src/post_modules/Shuffler/c_source_stream.c:1.7
Rev: src/post_modules/Shuffler/d_source_pikestream.c:1.6
Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.2
Rev: src/preprocessor.h:1.58
Rev: src/program.c:1.486
Rev: src/signal_handler.c:1.249
Rev: src/stralloc.c:1.153
Rev: src/stralloc.h:1.73
Rev: src/svalue.c:1.161
Rev: src/threads.c:1.211


2003-01-14 22:40:25 by Per Hedbor <>

Blocking pike-stream.

Rev: src/post_modules/Shuffler/e_source_block_pikestream.c:1.1