haproxy/contrib
Willy Tarreau 616c1cf774 CONTRIB: debug: add new program "poll" to test poll() events
This simple program prepares a TCP connection between two ends and
allows to perform various operations on them such as send, recv, poll,
shutdown, close, reset, etc. It takes care of remaining particularly
silent to help inspection via strace, though it can also be verbose
and report status, errno, and poll events. It delays acceptation of
the incoming server-side connection so that it's even possible to
test the poll status on a listener with a pending connection, or
to close the connection without accepting it and inspect the effect
on the client.

Actions are executed in the command line order as they are parsed,
they may be grouped using commas when they are performed on the same
socket.

Example showing a successful recv() of pending data before a pending error:
   $ ./poll -v -l pol,acc,pol -c snd,shw -s pol,rcv,pol,rcv,pol,snd,lin,clo -c pol,rcv,pol,rcv,pol

   #### BEGIN ####
   cmd #1 stp #1: do_pol(3): ret=1 ev=0x1 (IN)
   cmd #1 stp #2: do_acc(3): ret=5
   cmd #1 stp #3: do_pol(3): ret=0 ev=0
   cmd #2 stp #1: do_snd(4): ret=3
   cmd #2 stp #2: do_shw(4): ret=0
   cmd #3 stp #1: do_pol(5): ret=1 ev=0x2005 (IN OUT RDHUP)
   cmd #3 stp #2: do_rcv(5): ret=3
   cmd #3 stp #3: do_pol(5): ret=1 ev=0x2005 (IN OUT RDHUP)
   cmd #3 stp #4: do_rcv(5): ret=0
   cmd #3 stp #5: do_pol(5): ret=1 ev=0x2005 (IN OUT RDHUP)
   cmd #3 stp #6: do_snd(5): ret=3
   cmd #3 stp #7: do_lin(5): ret=0
   cmd #3 stp #8: do_clo(5): ret=0
   cmd #4 stp #1: do_pol(4): ret=1 ev=0x201d (IN OUT ERR HUP RDHUP)
   cmd #4 stp #2: do_rcv(4): ret=3
   cmd #4 stp #3: do_pol(4): ret=1 ev=0x201d (IN OUT ERR HUP RDHUP)
   cmd #4 stp #4: do_rcv(4): ret=-1 (Connection reset by peer)
   cmd #4 stp #5: do_pol(4): ret=1 ev=0x2015 (IN OUT HUP RDHUP)
   #### END ####
2019-09-05 09:31:18 +02:00
..
51d/src BUILD/MINOR: 51d: Updated build registration output to indicate thatif the library is a dummy one or not. 2019-06-13 18:00:54 +02:00
base64
debug CONTRIB: debug: add new program "poll" to test poll() events 2019-09-05 09:31:18 +02:00
deviceatlas BUILD/MEDIUM: contrib: Dummy DeviceAtlas API. 2019-04-26 17:06:32 +02:00
halog CLEANUP: fix a typo in a comment for the contrib/halog subsystem 2018-11-12 08:52:16 +01:00
hpack BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
ip6range
iprange CONTRIB: iprange: Fix compiler warning in iprange.c 2017-12-20 09:36:58 +01:00
mod_defender MAJOR: chunks: replace struct chunk with struct buffer 2018-07-19 16:23:43 +02:00
modsecurity MAJOR: http: Remove the HTTP legacy code 2019-07-19 09:24:12 +02:00
netsnmp-perl
plug_qdisc BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
prometheus-exporter BUG/MINOR: Fix prometheus '# TYPE' and '# HELP' headers 2019-08-12 08:51:28 +02:00
selinux
spoa_example BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
spoa_server DOC: contrib: spoa_server Add some hints for building spoa_server 2019-07-05 16:31:50 +02:00
syntax-highlight MEDIUM: Make '(cli|con|srv)timeout' directive fatal 2019-06-17 13:35:54 +02:00
systemd MINOR: systemd: support /etc/sysconfig/ for redhat based distrib 2019-05-07 14:11:55 +02:00
tcploop
trace
wireshark-dissectors/peers BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
wurfl CONTRIB: wurfl: address 3 build issues in the wurfl dummy library 2019-05-22 14:59:08 +02:00