Mi spiace spammare, ma sono due ore che ho risolto il problema e speravo di avere altre news o un server funzionale per mostrarvelo in funzione, comunque... i problemi non sono finiti :D<br><br>La funzione viene ora eseguita a dovere.<br>
All'inizio doveva esserci un problema nella loop_once, che ora è stabile e dereferenzia gli oggetti creati temporaneamente.<br>Ho quindi notato che la PyObject_CallFunctionObjArgs restituisce il valore della funzione eseguita e fin qui tutto ok, dato che la callback non restituisce alcunchè l'asserzione NULL == res (dove res è il risultato della chiamata della callback) risulta vera e quindi nel debug mi mostrava la scritta ("cannot call the function"). Ho quindi risolto controllando se viene restituito un valore, se si lo dereferenzio (dato che non mi serve a niente), altrimenti semplicemente conclude li e ritorna al loop_once.<br>
<br>Ho anche notato che con una accept sulla socket del server l'evento READ viene (apparentemente) rimosso, non si ripete all'infinito (come sospettavo), ma devo migliorare un paio di cosette per permettere alla callback di ottenere come parametro il socket del server (evitando la necessità di variabili globali), gli eventi (per controllare il TIMEOUT) oltre che il classico argomento di callback e quindi testare il tutto questa volta con un server funzionante per verificare altri bug.<br>
Ho notato anche che pyev effettua dei controlli sul GIL (l'autore dice nei commenti di voler sapere esattamente cosa accade nei 100 opcode) e penso che quello sia un supporto al multithreading, cosa che per ora, non posso garantire vista l'ancora instabile interfaccia. Un passo alla volta.<br clear="all">
<br>-- <br>Alessandro A.<br>