Posso mescolare mutex futex-based con glibc-2.2 linuxthreads mutex?
Domanda
Se non si sa cosa è futex e linuxthreads-0.9, per favore, non rispondere.
Posso mescolare in un programma mutex futex-based con mutex da linuxthreads-0.8 o -0.9 (che è stato utilizzato in tutte le glibc <= 2.2 e in tutto uClibc)?
Ho bisogno mutex tra processi (pshared uno, PTHREAD_PROCESS_SHARED).
Quindi, se le discussioni sono avviati e gestiti da linuxthreads pthread_manager, sarà essere confuso dal sonno futex-based e veglia?
Posso usare mutex futex-based sia per inter-process e la sincronizzazione inter-thread?
Soluzione
Non vedo il motivo per cui non si poteva.
Non sarà in grado di utilizzare pthreads, ovviamente. Si dovrà probabilmente utilizzare la libreria pthread con i vecchi mutex e sarà necessario avere il codice futex in qualche altra libreria.
Si può ovviamente non bloccare un mutex linuxthreads e sbloccarlo con una funzione futex, che non avrebbe mai funzionato.
Ma se un thread è bloccato nel kernel in attesa su un futex, non vedo come è diverso che essere bloccato un'operazione di disco I / O, e gestisce linuxthreads che abbastanza bene.