summaryrefslogtreecommitdiffhomepage
path: root/ftnoir_protocol_fsuipc
diff options
context:
space:
mode:
Diffstat (limited to 'ftnoir_protocol_fsuipc')
-rwxr-xr-x[-rw-r--r--]ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp
index a7bb4a39..8b92055d 100644..100755
--- a/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp
+++ b/ftnoir_protocol_fsuipc/ftnoir_protocol_fsuipc.cpp
@@ -126,6 +126,9 @@ void FTNoIR_Protocol::pose(const double *headpose ) {
//
FSUIPC_Process(&result);
if (result == FSUIPC_ERR_SENDMSG) {
+ // FSUIPC checks for already open connections and returns FSUIPC_ERR_OPEN in that case
+ // the connection scope is global for the process. this is why above code doesn't
+ // leak resources or have logic errors. see: http://www.purebasic.fr/english/viewtopic.php?t=31112
FSUIPC_Close(); //timeout (1 second) so assume FS closed
}
}