Multithread in ruby-dbus
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- ruby
- Área
- backend, distributed-systems
Línea de trabajo
Start by reading the update_buffer function and its IO.select usage, which the issue identifies as the source of the multithreading problem. Trace how requests and responses are associated with threads, then determine whether the proposed dispatch design is viable; done would require an agreed implementation direction, not just a patch.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi,
We quite need for our project to use ruby-dbus multhreaded. This feature is not supported as reported in 20 - 21 -22. We are thinking about an implementation and we want to have an enlightened opinion before coding it.
The problem seems to be due to update_buffer function and IO.select. Update_buffer function doesn’t know from which does come the previous request and the first thread that take IO.select income takes the request. A way to solve it may be to dedicate a thread that wait IO.select and return the buffer to the according thread:
if message-type is METHOD_CALL or SIGNAL, return to main thread.
if MESSAGE_RETURN, return to concerned thread. To do so, we need when sending a message to log in a hash (for example) the thread it cames from.
The thread will wait a Thread.stop and will be restarted from the dedicated one with a Thread.run
Do you agree with this implementation, do you see limitations from that ?
- Lenguaje dominante
- Ruby
- Estrellas
- 174
- Forks
- 51
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mvidner/ruby-dbus
-
Specify rexml versioningAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
Rexml or Nokogiri?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
NetworkManager.Settings.Connection cannot round-trip, calling Update with what GetSettings returnedAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de mvidner/ruby-dbus
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
TheOdinProject/curriculum#31465 ·
Los mantenedores suelen responder en 1 día
-
agent:triaged bug bughunt pm:bundler priority:p1
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
SocketDev/socket-patch#1573 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Generated server webpack config keeps Rspack's manifest and CSS extraction pluginsPosiblemente ocupada @justin808 la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
shakacode/react_on_rails#5184 ·
Los mantenedores suelen responder en 1 día
-
bug chat verified
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 6 días
-
🐞 bug pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
CircuitVerse/CircuitVerse#8031 · 2 comentarios ·
Los mantenedores suelen responder en 1 día