Fri, 15 Apr 2022 13:21:50 -0500
Fix file transfers failing at 99% over IRC
File transfers over IRC sometimes failed because the sender `close()`d the socket before reading everything from it, resulting in a TCP RST packet being sent, which was interpreted by the receiver as a problem with the connection, sometimes dropping the last few bytes of the file as a result.
This patch reads everything from the socket before closing, thus avoiding the RST packet issue.
Testing Done:
Tested on Windows, Linux, Windows-to-Linux and vice-versa IRC file transfers.
Bugs closed: PIDGIN-15893
Reviewed at https://reviews.imfreedom.org/r/1385/
#ifndef __gtksourceview_marshal_MARSHAL_H__ #define __gtksourceview_marshal_MARSHAL_H__ #include <glib-object.h> G_BEGIN_DECLS /* VOID:VOID (gtksourceview-marshal.list:1) */ #define gtksourceview_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID /* VOID:BOOLEAN (gtksourceview-marshal.list:2) */ #define gtksourceview_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN /* VOID:BOXED (gtksourceview-marshal.list:3) */ #define gtksourceview_marshal_VOID__BOXED g_cclosure_marshal_VOID__BOXED /* VOID:BOXED,BOXED (gtksourceview-marshal.list:4) */ extern void gtksourceview_marshal_VOID__BOXED_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:STRING (gtksourceview-marshal.list:5) */ #define gtksourceview_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING G_END_DECLS #endif /* __gtksourceview_marshal_MARSHAL_H__ */