[BUG] do not re-arm read timeout after writing data

A second occurrence of read-timeout rearming was present in stream_sock.c.
To fix the problem, it was necessary to put the shutdown information in
the buffer (already planned).
diff --git a/include/proto/buffers.h b/include/proto/buffers.h
index 74efe8f..95d63a5 100644
--- a/include/proto/buffers.h
+++ b/include/proto/buffers.h
@@ -28,6 +28,8 @@
 
 #include <common/config.h>
 #include <common/memory.h>
+#include <common/time.h>
+
 #include <types/buffers.h>
 
 extern struct pool_head *pool2_buffer;
@@ -63,6 +65,20 @@
 	buf->l = 0;
 }
 
+/* marks the buffer as "shutdown pending" for reads and cancels the timeout */
+static inline void buffer_shutr(struct buffer *buf)
+{
+	tv_eternity(&buf->rex);
+	buf->flags |= BF_SHUTR_PENDING;
+}
+
+/* marks the buffer as "shutdown pending" for writes and cancels the timeout */
+static inline void buffer_shutw(struct buffer *buf)
+{
+	tv_eternity(&buf->wex);
+	buf->flags |= BF_SHUTW_PENDING;
+}
+
 
 /* returns the maximum number of bytes writable at once in this buffer */
 static inline int buffer_max(const struct buffer *buf)
diff --git a/include/types/buffers.h b/include/types/buffers.h
index 09d1e34..a79641d 100644
--- a/include/types/buffers.h
+++ b/include/types/buffers.h
@@ -33,8 +33,11 @@
  */
 #define BF_SHUTR_PENDING        1
 #define BF_SHUTR_DONE           2
+#define BF_SHUTR_STATUS         (BF_SHUTR_PENDING|BF_SHUTR_DONE)
+
 #define BF_SHUTW_PENDING        4
 #define BF_SHUTW_DONE           8
+#define BF_SHUTW_STATUS         (BF_SHUTW_PENDING|BF_SHUTW_DONE)
 
 #define BF_PARTIAL_READ        16
 #define BF_COMPLETE_READ       32