From 1886893d66356634a7d13b466a1ced38265f68e2 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Mon, 21 Jun 2004 14:09:23 +0000
Subject: [PATCH] Added blurb for the READFUNCTION, including the new
 CURL_READFUNC_ABORT return code.

---
 docs/libcurl/curl_easy_setopt.3 | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 94b5626d03..67b44496d6 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -119,6 +119,15 @@ filled with at most \fIsize\fP multiplied with \fInmemb\fP number of
 bytes. Your function must return the actual number of bytes that you stored in
 that memory area. Returning 0 will signal end-of-file to the library and cause
 it to stop the current transfer.
+
+If you stop the current transfer by returning 0 "pre-maturely" (i.e before the
+server expected it, like when you've told you will upload N bytes and you
+upload less than N bytes), you may experience that the server "hangs" waiting
+for the rest of the data that won't come.
+
+In libcurl 7.12.1 and later, the read callback may return
+\fICURL_READFUNC_ABORT\fP to stop the current operation at once, with a
+\fICURLE_ABORTED_BY_CALLBACK\fP error code from the transfer.
 .IP CURLOPT_READDATA
 Data pointer to pass to the file read function. Note that if you specify the
 \fICURLOPT_READFUNCTION\fP, this is the pointer you'll get as input. If you
-- 
GitLab