@@ -1142,18 +1142,25 @@ int runStateMachine(DataProcessorSpecs const& workflow,
11421142 int result = 0 ;
11431143 struct sockaddr_in * serverAddr = nullptr ;
11441144
1145- do {
1146- if (serverAddr) {
1147- free (serverAddr);
1148- }
1149- serverAddr = (sockaddr_in*)malloc (sizeof (sockaddr_in));
1150- uv_ip4_addr (" 0.0.0.0" , driverInfo.port , serverAddr);
1151- uv_tcp_bind (&serverHandle, (const struct sockaddr *)serverAddr, 0 );
1152- result = uv_listen ((uv_stream_t *)&serverHandle, 100 , ws_connect_callback);
1153- if (result != 0 ) {
1154- driverInfo.port ++;
1155- }
1156- } while (result != 0 );
1145+ // Do not offer websocket endpoint for devices
1146+ // FIXME: this was blocking david's workflows. For now
1147+ // there is no point in any case to have devices
1148+ // offering a web based API, but it might make sense in
1149+ // the future to inspect them via some web based interface.
1150+ if (frameworkId.empty ()) {
1151+ do {
1152+ if (serverAddr) {
1153+ free (serverAddr);
1154+ }
1155+ serverAddr = (sockaddr_in*)malloc (sizeof (sockaddr_in));
1156+ uv_ip4_addr (" 0.0.0.0" , driverInfo.port , serverAddr);
1157+ uv_tcp_bind (&serverHandle, (const struct sockaddr *)serverAddr, 0 );
1158+ result = uv_listen ((uv_stream_t *)&serverHandle, 100 , ws_connect_callback);
1159+ if (result != 0 ) {
1160+ driverInfo.port ++;
1161+ }
1162+ } while (result != 0 );
1163+ }
11571164
11581165 GuiCallbackContext guiContext;
11591166 guiContext.plugin = debugGUI;
0 commit comments