PHT-Problem: wrong jump after after os-functions in combination with writing to Dict

in my plugin TuneIn2017 I have two functions to start and stop recordings.
In Function RecordStart I use subprocess.Popen to call the external programm streamripper. If the call is successfull I write the process-ID (and more infos) to a Dict[‘PID’].
Then, before given a user-info with ObjectContainer, PHT jumps back at the beginning of function RecordStart and tries calling streamripper once more.
Nice to see on the basis of timestamps in PLugin-Log.
Other Players (Web, Media Player) works fine).

The same happens in the function RecordStop. Here the jump-back occurs after os.kill and removing the process-ID from the Dict.

Did I make a mistake or do we have a special PHT-Problem?

Versions:

  • Linux: PMS 1.9.4.4325 + OpenPHT 1.6.2.123
  • Windows: PMS 1.9.4.4325 + OpenPHT-1.8.0.148

Code-extract RecordStart:

try:
	Log(Client.Platform)	
	call = **subprocess.Popen**(args, shell=False)		# shell=False needs shlex	
	# output,error = call.communicate()				# blocked, not needed here
	Log('call: ' + str(call))						# Bsp. <subprocess.Popen object at 0x7f16fad2e290>
	if str(call).find('object at') > 0:  			# subprocess.Popen object OK
		PID_line = '%s|%s|%s|%s'	% (call.pid, url, title_org, summ) 																	
		Log(PID_line)															
		Dict['PID'].append(PID_line)				# without no PHT-Problem 
		Log(Dict['PID'])
		Dict.Save()
		title_new = L('Aufnahme') + ' ' + L('gestartet')
		msg =  '%s: 
 %s | %s | PID: %s' % (title_new, url, summ, call.pid)
		header = L('Info')
		Log(msg)
		# at this point PHT jumps back to the start if this function. Return of 
		#	ObjectContainer is not executed.
		return ObjectContainer(header='Info', message=msg) 		
		return oc
						
						
except Exception as exception:
	...

/R


######Plugins: ARDMediathek2016, Plex-Plugin-KIKA_und_tivi, Plex-Plugin-3Sat_Mediathek, Plex-Plugin-Flickr, Plex-Plugin-TagesschauXL, Plex-Plugin-Phoenix_Mediathek, TuneIn2017